在django应用中,view是url路由后,所执行的回调函数。在django的view形式有两种,一种是view函数,一种是基于class的view。
基础的view函数
view函数是编写在app_name/views.py中的普通函数,然后再url路由中关联到该view函数即可。举例来说:
名称为getDetailInfo的view函数如下:
1 | from django.http import Http404 |
url路由规则的设定如下:
1 | urlpatterns = [ |
基于class的高级view
开发基于class的高级view的步骤如下:
(1)开发基于class的高级view类
1 | from django.http import HttpResponse |
备注:该view类继承django.views.View,当然也可以继承其他一些类,如django.views.generic.ListView。
(2)url路由绑定到view类
django的路由配置,是通过url映射到回调函数上,而不是类。但是基于class的View类提供了一个as_view()函数,as_view()会创建一个view实例并调用实例的dispatch()方法,然后由dispatch()将请求映射到具体的post或get等方法上。
举例来说:
1 | urlpatterns = [ |
学习资料参考于:
https://docs.djangoproject.com/en/1.11/topics/class-based-views/