view.py 视图
urls.py 路由
models.py 模型类
wsgi.py 服务器后端框架
settinge.py 设置
forms.py 表单
app.py
用于创建Django子应用的是
路由解析并匹配视图喊书描述
- Django解析路由的入口是工程同名目录下的urls.py文件
- 路由文件中的urlpatterns列表是由上至下的顺序查找对应路由规则的
- 如果路由正则中没有严格的开始和结束符,可能出现前面路由干扰后面路由的情况
- 多个路由可以对应一个视图
关于路由命名与reverse反解析
- 在使用include函数定义路由时,可以使用namespace参数定义路由的命名空间
- 为了避免不同应用中的路由使用了相同的名字发生冲突,可以使用命名空间区别开
- reverse函数是根据路由命名空间反解析出视图对应的路由
关于Django的MVT设计模式
- M表示模型,负责跟数据库交互
- V表示视图,负责接收请求,处理业务逻辑
- T表示模板,负责渲染要返回的HTML数据
- 模板只在服务器渲染响应HTML的时候需要使用,如果服务器只响应json数据就用不到模板
Django加载静态文件
- STATIC_URL参数用于设置访问静态文件的URL前缀
- STATICFILES_DIRS参数用于设置静态文件的查找目录
- 如果在生产环境(DEBUG=False)时,Django服务器不提供静态文件 访问服务
从URL中动态提取路径参数
- URL中的路径参数需要动态提取时,需要使用正则从路径中匹配出来
- 未命名参数按定义顺序传递到视图
- 命名参数按名字传递到视图
- 命名参数的名字必须与视图函数的参数名相同
请求对象
- 请求对象的GET属性用于获取URL中查询字符串
- 请求对象的GET属性不区分请求方法
- 请求对象的POST属性也返回QueryDict类型的对象
- 请求对象的POST属性用于获取请求体数据
- 请求对象method属性用于获取请求方式
- 请求对象的path属性用于获取请求路径
- 请求对象的FILES属性用于获取上传到服务器的文件数据,body属性获取上传到服务器的原始字符串数据
- 请求对象的USER属性用于获取请求的用户对象
响应对象
- Django框架不止向可会断响应HTML数据,也能像客户端响应json数据
- HttpResponse的子类包括HttpResponseRedirect
- JsonResponse类构造响应对象是可接受字典或列表作为参数
- HttpResponse类构造响应对象时的content_type参数可以指定返回数据的mime类型
cookie描述
- cookie在存储是需要指定键,并对应要存储的值
- cookie基于域名安全,同源策略
- cookie在响应对象中写入,在请求对象中读取
- cookie可以通过max_age参数设置过期时间
session描述
- Django项目迷人启用session。Django项目默认注册了处理- session的应用解中间件
- session可以通过配置现象session数据的不同存储策略
- session使用请求对象写入session数据
- Django的session数据默认有效期是两周