后端
HttpReqeust对象
服务器接受到http 协议的请求后,会根据报文创建HttpReqeust对象
试图函数的地一个参数是HttpReqeust对象
在django.http模块中定义了HttpReqeust对象的APL属性
path 一个字符串,表示请求页面的完整路径,不包含域名
method 一个字符串,表示请求使用的HTTP方法,常用的值包括:GET POST
encding 一个字符串,表示提交的数据编码方式
如果为None则表示使用浏览器的默认设置,一般为utf-8
这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding值
GET 一个类似于字典的对象,包含get请求方式的所有参数
POST 一个类似于字典的对象,包含post请求的所有参数
FLES 一个类似于字典的对象,包含所有上传文件
COOKES 一个标准的python字典,包含所有cookie,键和值都为字符串
SESSION 一个既可读又可写的类似于字典的对象,表示当前的会话,只有当Django 启用会话的支持时才可用,详细内容见“状态保持“
方法
is_ajax():如果请求是通过XMLHttpRequest发起的,则返回True
QueryDict对象
定义在django.http.QueryDict
request对象的属性GET、POST都是QueryDict类型的对象
与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况
方法get():根据键获取值
只能获取键的一个值
如果一个键同时拥有多个值,获取最后一个值
* dict.get('键',default)或简写为dict['键'] *
方法getlist():根据键获取值
将键的值以列表返回,可以获取一个键的多个值
* dict.getlist('键',default)
GET属性
* QueryDict类型的对象
包含get请求方式的所有参数
与url请求地址中的参数对应,位于?后面
参数的格式是键值对,如key1=value1 *
多个参数之间,使用&连接,如key1=value1&key2=value2
键是开发人员定下来的,值是可变的
示例如下
创建视图getTest1用于定义链接,getTest2用于接收一键一值,getTest3用于接收一键多值
*
*def getTest1(request):
return render(request,'booktest/getTest1.html')
def getTest2(request):
return render(request,'booktest/getTest2.html')
def getTest3(request):
return render(request,'booktest/getTest3.html')
配置url
* url(r'^getTest1/$', views.getTest1),
url(r'^getTest2/$', views.getTest2),
url(r'^getTest3/$', views.getTest3),
显示接受结果
*
Title
>a:{% for item in a %}{{ item }}
{% endfor %}
b:{{ b }}
网友评论