• django中的类视图


    # 原创,转载请留言联系

      当我们在开发一个注册模块时。浏览器会通过get请求让注册表单弹出来,然后用户输完注册信息后,通过post请求向服务端提交信息。这时候我们后端有两个视图函数,一个处理get请求,一个处理post请求。两个视图函数都是不同的名字。

      但是随着开发的进行。当你想要找到注册模块的这两个视图,太麻烦了。如果这两个视图函数能放在一起,归成一个类,作为注册模块的类。这样日后的维护将会方便很多。这时候,django的类视图就能实现这个功能了。

    1.对比

    在没有类视图前,视图是这样的:

    def get_register_page(request):
        return render(request,"注册页面.html")
    
    def post_register_page(request):
        # 处理请求,把信息写进数据库
        return HttpResponse("注册成功")

    有了django的类视图,视图是这样的:

    class register(View):
        def get(self,request):
            return render(request,"register.html")
    
        def post(self,request):
            title = request.POST.get("name")
            content = request.POST.get("password")
            return HttpResponse("注册成功")

    别漏了要在项目的urls设置:

    url(r'^register$',views.register.as_view())

    注意,as_view()是用来分发请求方法的。可以把同一个页面的不同请求方法分发给不同的视图来执行。

  • 相关阅读:
    __get__,__set__,__delete__
    __getattr__,__setattr__,__delattr__
    json ,pickle
    @property
    类的封装
    super
    继承顺序
    派生组合示例
    类的派生,组合
    class 属性查找
  • 原文地址:https://www.cnblogs.com/chichung/p/9886655.html
Copyright © 2020-2023  润新知