mvt model===>模型类===》与关系型数据库进行交互 view====》视图====》接收请求,处理,返回响应 template===>模板html===>html+jinjia2
====================django简介
是python语言编写的一个web框架
====================创建工程及应用
-----工程
django-admin startproject 项目名称
在pycharm中创建项目
------应用
1.python manage.py startapp 应用名称
2.在settings.py中安装:
INSTALLED_APPS=[
...,
‘应用名称.apps.类名称‘,
]
3.新建urls.py
urlpatterns=[]
------视图
1.在应用中的views.py中定义视图
2.视图的语法就是函数
3.定义路由规则
1.在users/urls.py中定义映射关系url(r‘正则表达式‘,函数名称)
2.在demo1/urls.py中包含应用中的路由规则url(r‘^‘,include(‘应用.urls‘))
====================配置
demo1/settings.py文件
BASE_DIR===>项目在磁盘的绝对路径
DEBUG===》是否调试
INSTALLED_APPS===》创建应用后,需要在这个列表中安装应用
LANGUAGE_CODE = ‘zh-hans‘#‘en-us‘
TIME_ZONE = ‘Asia/Shanghai‘#‘UTC‘
====================路由说明
1.先从请求url中获取路径
2.与根级url进行路由规则匹配
3.再与应用中的url进行路由规则匹配
4.如果正则匹配成功,则找到视图函数,执行
5.如果正则未匹配成功,则返回404
-----------关于结尾/的说明:
1.如果是在根级url中,必须加/
2.如果是在应用url中,可以加,也可以不加,建议加/
====================App应用配置
创建应用后会存在这个文件,用于进行应用的安装
====================请求对象Request
作用:包含了所有的http请求报文,通过这个对象,可以获得请求报文中的数据
说明:这个对象是由django框架根据请求报文创建好,传递给视图函数的
获取数据4种方式:
1.通过正则表达式获取路径中的数据
1.位置匹配
2.命名匹配(?P<>)
2.协议://域名:端口/路径/?查询字符串
键=值&键=值&键=值....
接收request.GET===>类似于字典的对象,get()
3.接收请求报文体的数据:
表单post提交===>request.POST
非表单请求,接收json格式的数据{键:值,....}===>request.body===>decode()===>json.loads()
{"a":10,"b":"python"}
4.头信息
额外属性:
path===>请求路径
method===>请求方式
user=====>用户对象
总结request对象的属性:
GET
POST
body
path
method
user
====================响应对象Response
mime-type
*.html===>text/html
*.png====>image/png
application/json
类型:HttpResponse
常用类型:JsonResponse
====================cookie
状态保持的一种方案
在浏览器中以键值的格式保存信息
浏览器会将当前网站的cookie信息包含在请求报文头中,发给服务器
写:response
set_cookie(键,值,max_age=过期时间,以秒为单位)
读:request
request.COOKIES===>字典
原文地址:https://www.cnblogs.com/python58/p/9940817.html