一、函数视图
-
函数视图便于理解
-
代码可读性与复用性都不佳
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'),
]