django框架的基础知识点
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===>字典
====================总结
能够使用命令创建Django工程和子应用
工程:django-admin startproject 工程名称
子应用:python manage.py startapp 应用名称
在settings.py中安装
知道如何在Django中定义视图及路由
定义视图:def 函数(request):
….
return 响应对象
注册路由:在应用中新建urls.py
在根级url中包含应用的url
定义正则表达式,与视图函数对应
理解Django路由的匹配流程
1.从url中获取路径
2.删除路径最左的/
3.与根级url进行匹配,如果匹配成功则找到应用的url
4.将路径中匹配成功的部分删除,使用剩余的部分,与子应用的url进行匹配
5.如果匹配成功,则执行找到的视图函数
6.如果匹配失败,则返回404
知道如何使用request对象获取查询字符串参数
查询字符串:在url中?后面的键值对
request.GET==>字典
知道如何使用request对象获取请求体数据
request.body==>bytes===>decode()==>str==>json.loads()===>dict
知道如何构造HttpResonse响应对象
HttpResponse(数据内容,content_type=’类型’)
知道如何获取路径中的数据
在url中正则部分写()===>视图函数定义参数
可以为参数指定名称(?P<名称>)