Django使用Request 对象和Response对象在系统间传递状态。
当请求一个页面时, Django会建立一个包含请求元数据的 HttpRequest 对象. 当Django 加载对应的视图时, HttpRequest对象将作为视图函数的第一个参数. 每个视图会返回一个HttpResponse对象.
注意:视图的第一个参数必须是HttpRequest对象.
HttpRequest属性:
path | 一个字符串,表示请求的页面的完整路径,不包含域名. |
method | 一个字符串,表示请求使用的HTTP方法,常用值包括:'GET'、'POST' 在浏览器中给出地址发出请求采用get方式,如超链接 在浏览器中点击表单的提交按钮发起请求,如果表单的method设置为post则为post请求. |
GET | 一个类似于字典的对象,包含get请求方式的所有参数. |
POST | 一个类似于字典的对象,包含post请求方式的所有参数. |
FILES | 一个类似于字典的对象,包含所有的上传文件. |
COOKIES | 一个标准的Python字典,包含所有的cookie,键和值都为字符串. |
session | 一个既可读又可写的类似于字典的对象,表示当前的会话,只有当Django 启用会话的支持时才可用,详细内容见“状态保持”. |
演示: path、method.
1. GET属性
请求格式:在请求地址结尾使用?,之后以“键=值”的格式拼接,多个键值对之间以&连接
例:网址如下:
http://www.itcast.cn/?a=10&b=20&c=python
其中的请求参数为:
a=10&b=20&c=python
在Django中可以使用HttpRequest对象的GET属性获得get方式请求的参数.GET属性返回QueryDict类型的对象,键和值都是字符串类型.键是开发人员在编写代码时确定下来的, 值是根据数据生成的.
2. POST属性
用form表单请求时,method方式为post则会发起post方式的请求,需要使用HttpRequest对象的POST属性接收参数,POST属性返回QueryDict类型的对象.
问:表单form如何提交参数呢?
答:控件name属性的值作为键,value属性的值为值,构成键值对提交. 如果控件没有name属性则不提交. 对于checkbox控件,name属性的值相同为一组,被选中的项会被提交,出现一键多值的情况. 键是控件name属性的值,是由开发人员编写的, 值是用户填写或选择的.