Django views视图, since 2022-01-12

2022-01-13  本文已影响0人  Mc杰夫

(2022.01.13 Thur)
视图views,python函数集,接收web的请求,返回web响应。不管请求如何,都要提供响应。一般放在views.py文件里,也可放在其他文件里。每个视图函数都返回一个HttpResponse对象,对象中包含响应。视图函数的两个重要对象,分别是输入的请求对象request和响应对象HttpResponse

请求对象request

请求对象request,包含了HTTP请求报文的基本信息(点击这里查看),重要属性如下

GET

包含HTTP GET的所有参数,其数据类型是QueryDict,类Python字典。若有相同key,则所有值放在对应列表里。

# views.py
def fun(request):
    d = request.GET.get('date') # 如果'date'含多个值,则只去最后的值
    return HttpResponse(d)

POST

包含HTTP POST的所有参数,类型同GET。常用于表单form,form中的name对应了POST参数的key,value对应了POST参数的value。

body

数据类型为二进制字节流,原生请求体中的参数,用于POST请求,因为GET请求没有body。

def fun(request):
    u = request.body
    print(u)
    return HttpResponse(u)

path

字符串类型,URL中的路径部分。

request.path

method

获取当前请求方式,字符串类型,大写。

def xxx(request):
    ...
    print(request.method)
    return xxx
$ POST

视图响应对象的三种形式

HttpResponseredirectrender,其中后两种是第一种的封装。render底层返回的是HttpResponseredirect底层继承的是HttpResponse

Reference

1 runoob菜鸟教程
2 Django doc

上一篇下一篇

猜你喜欢

热点阅读