• 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()是用来分发请求方法的。可以把同一个页面的不同请求方法分发给不同的视图来执行。

  • 相关阅读:
    【zzuli-2276】跳一跳
    哈夫曼编码
    【zzuli-2266】number(二进制处理)
    【51nod-1042】数字0-9的数量
    【51nod-1009】数字1的数量
    数据库第八次实验
    【zzuli-1923】表达式求值
    vue组件父子组件传递引用类型数据
    JS中的call()方法和apply()方法用法总结
    Object.assign()与深拷贝(一)
  • 原文地址:https://www.cnblogs.com/chichung/p/9886655.html
Copyright © 2020-2023  润新知