====================课程概况
django框架—》3天
drf框架------》3天
美多商城-----》12天
====================web应用处理流程
1.接收客户端的请求
2.逻辑处理
3.返回响应
========django简介
M>model,用于操作关系型数据库
V>view,用于接收请求,业务逻辑处理,返回响应
T>template,用于根据数据生成html页面
====================创建工程及应用
------虚拟环境
mkvirtualenv 名称 -p python3
pip install -r meiduo_requirements.txt
------工程
django-admin startproject 项目名称
------应用
1.python manage.py startapp 应用名称
2.在demo1/settings.py中安装
INSTALLED_APPS = [
‘应用.apps.类名’,
]
------视图
1.在应用的views.py中定义函数
必须接收request参数
必须返回HttpResponse对象
2.在应用中创建urls.py,定义路由规则
3.在demo1/urls.py中包含应用中的urls
==================配置
BASE_DIR=>项目在磁盘的根目录
LANGUAGE_CODE = 'zh-hans’简体中文
TIME_ZONE = 'Asia/Shanghai’北京时间
====================静态文件
css,js,图片文件
# 请求路径
STATIC_URL = ‘/static/’
# 文件目录,使用静态文件时,会到如下目录中查找文件
STATICFILES_DIRS = [
os.path.join(BASE_DIR, ‘static’),
]
====================路由说明
url字符串:协议://域名:端口/路径/?查询字符串a=1&b=2&c=3
1.从url中获取路径,去掉最左侧的/
2.与根级url进行匹配,如果匹配不成功则返回404
3.如果匹配成功,则去掉成功的字符串,使用余下的字符串继续匹配
4.加载子级列表,逐条匹配
5.匹配成功后,找到视图函数,以请求对象为参数,执行函数
关于/的使用:
1.正则表达式不能以/开始
2.推荐以/结尾
====================App应用配置
应用自动创建,代码不需要修改
================请求对象Request
-----获取数据的四种方式
1.从路径中提取数据
1.位置参数:在正则表达式中添加(),在函数中指定参数
2.关键字参数:(?P<名称>正则表达式)
2.查询字符串
request.GET=>字典
3.请求报文体
表单:request.POST
非表单:request.body=>json
4.请求报文头
request.属性
{
“title”:“北京”,
“address”:“顺义”
}
-----常用属性
method:请求的方式,‘GET’,‘POST’,…
path:请求路径
user:当前用户,如果未登录则匿名用户,如果已登录,则是登录的用户对象
====================响应对象Response
HttpResponse(数据)
JsonResponse(参数,safe=False)
如果参数不是字典,则设置safe=False不会抛异常
================状态保持
-----cookie
以键-值对的格式存储在浏览器中
基于域名安全
自动包含在请求报文头中发给服务器
写:response.set_cookie(键,值,max_age=以秒为单位的过期时间)
读:request.COOKIES.get(键)=>返回值,如果没有返回None
-----session
request.session类型是字典
-------------了解session保存、获取流程
session依赖于cookie
==================类视图
---------代码实现
class ***View(django.views.View):
def 请求方式同名小写(self,request):
pass
---------为什么要用类视图
继承,实现代码重用
业务逻辑清晰
==============总结
能够使用命令创建Django工程和子应用
工程:django-admin startproject 工程名称
应用:python manage.py startapp 应用名称
知道如何在Django中定义视图及路由
1.在views.py中定义函数或类
2.在urls.py中配置路由规则
url(正则表达式,函数名称)
知道如何使用request对象获取查询字符串参数
request.GET=>字典
知道如何使用request对象获取请求体数据
表单:request.POST=>字典
非表单:json.loads(request.body.decode())=>字典
知道如何构造HttpResponse的响应对象
HttpResponse(数据,status=)
JsonResponse(数据,safe=False)
django学习笔记(1)
最新推荐文章于 2024-08-26 06:21:53 发布