类视图

函数视图和类视图

 

一、函数视图

  • 函数视图便于理解

  • 代码可读性与复用性都不佳

def register(request):
   """handle register"""

   # 获取请求方法,判断是GET/POST请求
   if request.method == 'GET':
       # 处理GET请求,返回注册页面
       return render(request, 'register.html')
   else:
       # 处理POST请求,实现注册逻辑
       return HttpResponse('这里实现注册逻辑')

 

二、类视图

  • 代码可读性好

  • 类视图相对于函数视图有更高的复用性


from django.views import View

class RegisterView(View):
   """handle register"""

   def get(self, request):
       """处理GET请求,返回注册页面"""
       return render(request, 'register.html')

   def post(self, request):
       """处理POST请求,实现注册逻辑"""
       return HttpResponse('这里实现注册逻辑')

定义类视图的路由:


from django.urls import path

from . import views

# 配置路由时,使用类视图的as_view()方法来添加。
urlpatterns = [
   # 视图函数:注册
   # url(r'^register/$', views.register, name='register'),
   # 类视图:注册
   path('register/', views.RegisterView.as_view(), name='register'),
]

 

 

posted on 2019-03-12 16:09  袁佳佳  阅读(307)  评论(0编辑  收藏  举报

导航