web框架和django基础(粗糙版)
web框架本质:
浏览器:socket客户端
服务器:socket服务端
1.自己写socket服务端(最傻)
#!/usr/bin/env python
# -*-
coding:utf-8 -*-
import socket
def handle_request(client):
date =
client.recv(1024)
client.send(b'HTTP/1.1 200
OK\r\n\r\n')
client.send(b'Hello')
def
main():
sock =
socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.bind(('localhost',8000))
sock.listen(5)
while
True:
conn,addr = sock.accept()
handle_request(conn)
conn.close()
if __name__ ==
'__main__':
main()
2.次之(web框架的开发者)
WSGI:通用网关服务接口
server_names = {
'cgi':
CGIServer,
'flup': FlupFCGIServer,
'wsgiref': WSGIRefServer,
'waitress':
WaitressServer,
'cherrypy':
CherryPyServer,
'paste': PasteServer,
'fapws3': FapwsServer,
'tornado':
TornadoServer,
'gae': AppEngineServer,
'twisted': TwistedServer,
'diesel':
DieselServer,
'meinheld': MeinheldServer,
'gunicorn': GunicornServer,
'eventlet':
EventletServer,
'gevent': GeventServer,
'geventSocketIO':GeventSocketIOServer,
'rocket':
RocketServer,
'bjoern' : BjoernServer,
'auto': AutoServer,
}
Python中的模块来实现web框架
from wsgiref.simple_server import
make_server
def RunServer(environ,
start_response):
# environ 用户请求的相关信息
#
start_response 设置用户相应的相关信息
start_response('200 OK',
[('Content-Type', 'text/html')])
return
[bytes('<h1>Hello, web!</h1>', encoding='utf-8'), ]
if __name__ == '__main__':
httpd = make_server('localhost',
8000, RunServer)
print("Serving HTTP on port
8000...")
httpd.serve_forever()
3.现成的web框架 Bottle,Flask,Django,tornado(不是用django写的)
四,Django
web框架分两类:
(功能齐全)
Django
大而全
Bottle,Flask,Tornado,Webpy
安装:
1.pip3 install
django
2.解压
python3 setup.py install
可执行文件 django-admin.exe 目录在python3下的script下
#添加环境变量
3.基本使用
创建project
django-admin startproject
projectname(Mysite)
mysite
- mysite (配置文件)
-
manage.py (管理project)
-
app(cmdb)
- models.py
数据库操作
- admin.py
配置django自带的后台管理
- apps.py
当前app的配置
- test.py
单元测试
- views.py 做业务处理
运行
cd mysite
python3
manage.py runserver 127.0.0.1:8000
创建app(处理业务逻辑)
cd mysite
python3 manage.py
startapp cmdb
python3 manage.py startapp
monitor(监控)
django的基本使用
urls中的配置
from cmdb(appname) import views
urlpatterns = [
url(r'^admin/',
admin.site.urls),#默认的管理界面
url(r'^index/',
views.index),#自己配置的指向views.index
]
views中的配置
from django.shortcuts import
HttpResponse
# 至少一个参数request
#
request封装用户请求相关信息
def index(request):
print(request.GET)
return HttpResponse('ok')
web框架和django基础(粗糙版)的更多相关文章
- python笔记-19 javascript补充、web框架、django基础
一.JavaScript的补充 1 正则表达式 1.1 test的使用 test 测试是否符合条件 返回true or false 1.2 exec的使用 exec 从字符串中截取匹配的字符 1.3 ...
- Web框架和Django基础
核心知识点 1.web应用类似于一个socket客户端,用来接收请求 2.HTTP:规定了客户端和服务器之间的通信格式. 3.一个HTTP包含两部分,header和body,body是可选,\r\n分 ...
- web框架之Django基础
1. Django的简介 Django是一个由python写成的开放源代码的Web应用框架. Django的目的是使常见的Web开发任务,快速和容易. 2. Django框架的特点 1. 遵循MVC开 ...
- Python web 框架之 Django 基础搭建服务
1. 需要安装 Python 和 Django 环境,Python 环境的安装我就不在多说了 2. 安装框架 Django Django 安装,推荐先装个 pip吧,easyinstall也可以,然后 ...
- day15 web框架和Django基础
参考博客: http://www.cnblogs.com/yuanchenqi/articles/6788872.html http://www.cnblogs.com/yuanchenqi/arti ...
- Web框架之Django基础篇
Web框架之Django基础篇 本节介绍Django 简介,安装 基本配置及学习 路由(Urls).视图(Views).模板(Template).Model(ORM). 简介 Django 是一 ...
- Python开发【第二十一篇】:Web框架之Django【基础】
Python开发[第二十一篇]:Web框架之Django[基础] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之 ...
- Python开发【第十八篇】Web框架之Django【基础篇】
一.简介 Python下有许多款不同的 Web 框架,Django 是重量级选手中最有代表性的一位,许多成功的网站和APP都基于 Django. Django 是一个开放源代码的Web应用框架,由 P ...
- Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)
摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...
随机推荐
- Echarts柱状图实现不同颜色渐变色
第一次写文,只是想记录一下自己平时发现的小功能,这篇主要是实现echarts柱状图,每个柱子实现不同颜色的渐变色,也是第一次接触echarts,后台使用ssm,前台是extjs,直接上效果图 直接上j ...
- Docker_部署jenkins(dockerfile实现)
docker+jenkins开始合体! 我用的是ubuntu14.04的基础镜像,具体的这里不做赘述. 我在/tmp/目录下建了一个Dockerfile文件: touch Dockerfile vi ...
- JAVA_SE基础——65.StringBuffer类 ②
字符串特点:字符串是常量:它们的值在创建之后不能更改. 字符串的内容一旦发生了变化,那么马上会创建一个新 的对象. 注意: 字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象 ...
- hadoop大数据技术架构详解
大数据的时代已经来了,信息的爆炸式增长使得越来越多的行业面临这大量数据需要存储和分析的挑战.Hadoop作为一个开源的分布式并行处理平台,以其高拓展.高效率.高可靠等优点越来越受到欢迎.这同时也带动了 ...
- Window7下安装Jmeter
解压Jmeter,存放位置为D:\apache-jmeter-2.11 用户变量——>新建变量名JMETER_HOME,变量值为存放目录 系统变量——>添加;%JMETER_HOME%/l ...
- vue组件详解(五)——组件高级用法
一.递归组件 组件在它的模板内可以递归地调用自己, 只要给组件设置name 的选项就可以了. 示例如下: <div id="app19"> <my-compone ...
- Python入门之函数的装饰器
本章目录: 装饰器: 一.为什么要用装饰器 二.什么是装饰器 三.无参装饰器 四.装饰器语法糖 五.认证装饰器实现 六.叠加多个装饰器 七.带参装饰器 ======================== ...
- Mybatis多个参数传值方法
第一种方案 DAO层的函数方法 Public User selectUser(String name,String area); 对应的Mapper.xml <select id="s ...
- (第一章)对程序员来说CPU是什么
这几天,看到一本书,<程序是怎么跑起来的>,觉得之前都没有完整的看完一本书,现在要从这本书开始,慢慢的培养自己写读书笔记的习惯,不能度过去就忘了. 学习是一个螺旋上升的过程,不要指望一下子 ...
- windows下 在cmd中输入ls命令出现“ls不是内部或外部命令“解决方法
1.新建一个文件命名为 ls.bat 2.打开编辑这个文件 输入: @echo off dir 3.将这个文件放在C:\windows目录下