Django - views配置


views.py是业务的请求和处理文件。

在views模块中,request参数是一个HttpRequest的一个请求。可以使用isinstance()函数查看是否为request是否为HttpRequest的一个子类

Request对象

结果为True。

详情见官方文档:https://docs.djangoproject.com/en/3.0/ref/request-response/

常见的HttpRequst请求:

path Request请求的路径
method Request请求的方法
GET 包含所有给定HTTP GET参数的类字典对象
POST 包含所有给定HTTP POST参数的类字典对象
COOKIES 包含所有cookie的字典。键和值是字符串。
user 用户的验证

GET是在游览器地址中进行传递。POST不会在游览器中传递,但是,对应的GET和POST方法都是一个QueryDict objects

比如在游览器器的地址中输入 ?name=12345

在对应的request中,GET为一个字典序列,所以可以通过字典方式输出name的具体值。

够着一个POST表单:

输出POST结果就是

get是url游览器地址提交,post不会出现在游览器中。这里get提交name=”123“ ,key是name, post提交,name=”key“,这里的值是”key“

Response对象

可以直接使用HttpResponse进行一个直接的内容返回。

这里的render函数就是一个HttpResponse的一个子类的方法实现。

render第一个为Request请求,第二个为渲染的模板,第三个为content内容,用于模板标签的使用。

在render传入content内容的时候,可以使用locals的方法

1
2
def index(request):
return render(request, "blog/index.html", local())

此外还有一个方法,redirect,也是一个HttpResponse的实现,是直接进行网页的跳转。

这样就会直接跳转到百度。

同理,也可以直接跳转到本地设置的路径。

但是不能跳转到当前路径,不然就会进行死循环跳转。