Django常见数据类型提交、解析与响应

2019-05-20  本文已影响0人  越大大雨天

Request请求

http协议向客户端传参四种形式

  1. URL地址拼接传参
    • 传参示例:传递名字和年龄
      http://127.0.0.1:8000/user/index/xiaowang/26
    • 解析方式:
      路由正则内增加匹配:url(r'users/index/(?P<name>[a-zA-Z]+)/(?P<age>\d+)', views.index)
      对应视图函数写法:
def index(request,name,age):
     print("name: %s, age: %s" % (name,age))
  1. URL查询字符串传参
    写法:?key=value&...
    • 传参示例:传递名字和年龄
      http://127.0.0.1:8000/user/index/?name=xiaozhang&age=26
    • 解析方式:
def index(request):
     querydict = request.GET
     name = querydict.get("name")
     age = querydict.get("age")
  1. 请求体传参

重要:request.POST只能用来获取POST方式的请求体表单数据,其余请求体获取数据均采用下述的request.body

请求头

可以通过request.META属性获取请求头headers中的数据,request.META为字典类型。
其中包含HTTP_USER_AGENTSERVER_NAME等许多信息。

其他HttpResponse对象属性

Response响应

HttpResponse

可以使用django.http.HttpResponse来构造响应对象。

  1. 响应头设置:
    # 可增加新的或修改已有请求头
    response = HttpResponse()
    response['Itcast'] = 'Python'  # 自定义响应头    Itcast, 值为Python
    

HttpResponse子类

Django提供了一系列HttpResponse的子类,可以快速设置状态码

cookie设置和读取

HttpResponse.set_cookie(cookie名, value=cookie值, max_age=cookie有效期)

2. 读取cookie
可以通过HttpRequest对象的COOKIES属性来读取本次请求携带的cookie值。request.COOKIES为字典类型。

cookies = request.COOKIES

session设置和储存

session可保存在数据库、本地缓存中。

注意:

上一篇下一篇

猜你喜欢

热点阅读