Python Day22

http协议支持的请求方式

get请求:查询
post请求:提交数据(添加记录)
delete请求:删除数据
put/patch:更新数据

CBV 视图类

执行流程

会判断请求方式自动选择类下的函数执行
第一阶段:
url中调用的as_view方法在View父类中,会返回view方法,用户访问url时才会执行view方法
第二阶段:用户访问url时
view方法会返回dispatch方法
大体过程是这样的:
view()===self.dispatch()===self.get()

写法

urls.py中

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^login/', views.LoginView.as_view()),
]

views.py中

from django.views import View
class LoginView(View):

    # 这样写的意义在于无论什么请求都要执行的操作就可以写在下面的函数中
    def dispatch(self, request, *args, **kwargs):
        print("OK")

        ret = super().dispatch(request, *args, **kwargs)
        return ret

    def get(self, request):
        return render(request, "login.html")

    def post(self, request):
        user = request.POST.get("user")

        return HttpResponse("OK")

猜你喜欢

转载自blog.51cto.com/dzm911/2128993