django中一共提供了两种视图:分别是函数视图[function view]和类视图[class view]。
# 函数视图 def login(request): """登录功能""" # 登录功能代码 return Response({“message”:"ok"})
函数视图,实现功能,需要手动判断用户的请求动作,而且当函数视图数量多了,就不要归纳整理。
"""函数视图的登录功能""" from django.http import HttpResponse def login_form(request): """显示登录页面""" html = """ <form method="post" action="/clsview/login_data/"> 账号: <input type="text" name="usernane"><br><br> 密码: <input type="password" name="password"><br><br> <input type="submit" value="登录"> </form> """ return HttpResponse(html) def login_data(request): """验证登录""" print( request.POST ) return HttpResponse("登录成功") """"路由代码""""" from django.urls.conf import path from . import views urlpatterns = [ path(r"login_form/",views.login_form), path(r"login_data/",views.login_data), ]
类视图,可以实现django自动根据用户的http请求动作,自动识别执行对应名称的视图方法。
form django.views import View class MemberView(View): def get(self,request): """获取用户数据""" ... def post(self,request): """添加用户数据""" ... def put(self,request): """修改用户数据""" ... def delete(self,request): """删除用户数据""" ....
from django.http import HttpResponse from django.views import View class LoginView(View):