django
http协议:
协议://域名(IP)+端口(80)/路径?参数(a=1&b=2)
浏览器 ----请求协议----->服务器
浏览器<-----响应协议-----服务器
请求协议格式:
请求首行 请求方式 url (路径? get请求参数) 协议/版本号
请求头 key:value
请求体 数据(只有post请求才会有请求体)
响应协议格式:
响应首行 协议/版本号 状态码 状态码译文
响应头 content-type:text/html
响应体 <h1>hello</h1>
MVC:
M:model(模型) 与数据库打交道
V:view(视图) html文件
C:controller(控制器) url的分发与视图函数的逻辑处理
MTV:
M:model(模型)
T:template(模板) 存放html文件
V:view(视图)\
使用web框架的流程:
1:urls 定义映射关系("timer",timer)
2创建视图函数
def timer(evsion):
业务逻辑
return 文件 (templates文件夹中存着)
3一旦涉及数据库操作,使用models
Django:
下载安装Django: 直接在命令提示符窗口输入 pip3 install django
创建Django项目:
1.先进入文件路径
2.输入 django-admin
3.在输入 django-admin startproject 项目名
创建应用:
1.进入项目目录
2.输入 python manage.py startapp app名称
启动项目: python manage.py runserver IP:PORT ip地址(默认本机):端口(默认8000)
项目名称
manage.py # 启动文件 与项目交互文件
项目名称
settings.py : 配置信息
urls: 路径与视图函数的映射
wsgi: 封装socket
app01
models: 存放与该app相关的表结构
view : 存放与该app相关的视图函数的
urls.py: 请求路径与视图函数的映射关系
(2) 有名分组:给分组起一个名字,实现关键字传参
(3) 分发 :把每一个app自己的url分发各自的路由文件中
(4) 反向解析:不要硬编码url,通过别名解析url
request(请求对象)
print(request.method) # 请求方式
print(request.path) # 请求路径
print(request.POST) # POST的请求数据 字典格式
print(request.GET) # GET的请求数据 字典格式
print(request.META) # 请求头
print(request.get_full_path())
print(request.is_ajax())
response(响应对象)
三种形式:
1 HttpResponse("字符串")
2 render("页面")
--- 读取文件字符串
--- 渲染变量
3 redirect() # 重定向
三 模板语法
服务器发请求:
1 地址栏输入url 默认get方式
2 form表单发请求 可以设置get或者post
3 a标签发请求