Django视图响应请求:HTTP响应(),Render(),redirect(),经常使用。它们被称为视图功能的“三剑手”。
django.shortCuts模块提供了Render()函数。它的功能是生成一个HTTP响应对象,并基于传递给模板文件的字典类型返回。
功能格式为
Redirect()函数接收一个参数,表明浏览器跳到指定的URL;此参数可以是数据模型(模型)对象,视图函数名称或URL。
Redirect()函数将调用数据模型中定义的get_absolute_url()函数,并获得该函数返回的URL值,然后跳到URL。
例子
urls.py:
py:
反向()是URL反向解析函数。其第一个参数的值是“ depdetail”,它是depdetail名称的URL配置项。反向分析过程是:在test_view urls.py中找到当前应用程序的配置项。反向()函数将找到相应的URL。根据字典类型参数传递给它(kwargs = {'dep_id':seld.pk})组合,最后分析完整的URL。
Views.py:
在视图函数test_redirect()中有一个redirect()函数。此处运行的RateT()函数运行过程分为以下3个步骤。
redirect()函数通过视图函数名称和视图函数参数和重定向到此URL。
RETIRECT()函数的执行过程是首先逆转URL,查找与URLS.PY文件中URL相对应的视图函数,并执行视图函数depdetail()。您可以以此方式理解它,并且直接通过redirect()直接调用视图函数depdetail()。
REDIRECT()函数直接打开该URL指向的网页。参数具有http://作为前缀为完整的URL,例如:return redirect('http://127.0.0.0.1:8000/dep/2/')和返回重定向('http:// url/')本质
但是,如果没有http:// and https://,redirect()函数将在urls.py file.to中找到匹配。
返回重定向('/dep/66/')