类视图

  • Post author:
  • Post category:其他

在Django中可以使用类来定义一个视图,称为类视图:使用类视图可以将视图对应的不同请求方式以类中的不同方法来区别定义。优点:

  • 代码可读性好
  • 通过类的继承,实现代码的复用,简化代码
class Registerview(View):
    def get(self, request):
        print('get')
        return HttpResponse('get')

    def post(self, request):
        print('post')
        return HttpResponse('post')

urls.py文件:

urlpatterns = [
    url(r'^register/$', views.Registerview.as_view())
]

as_view()源代码里封装了dispatch()方法,会根据请求方式来类里面对应的函数或属性。比如请求方式是get,会调用类里面定义的get()方法。

# 当很多个视图函数里都要调用get(),post()这些请求返回一些相同的数据,不要在每个函数里面都写一遍,可以把它们写到一个类视图里面,要写的视图函数也写成类视图,然后继承上面的类视图,这样就可以简化代码量,而且方便阅读和管理


版权声明:本文为guodejie原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。