zoukankan      html  css  js  c++  java
  • django补充CBV和FBV模式

    django补充CBV和FBV模式
    FBV模式---函数:经常用的方式
    CBV模式---
    CBV中url连接时函数名后面要接.as_view()
    class index(views.View):
    @...
    def dispath(self,request,*arg,**kwarg):
    super...
    如果对某一种请求做处理:单一装饰器
    如果对请求做处理:dispatch单一装饰器
    注:CBV模式中的装饰器要调用method_decorator
    from django.utils.decorators import method_decorator
    在执行后台程序分辨get和post传值之前要先执行调用的view函数中的dispatch方法进行处理
    例:
    from django import views
    from django.utils.decorators import method_decorator
    def outer(func):
    def inner(request,*args,**kwargs):
    print(request.method)
    return func(request,*args,**kwargs)
    return inner #闭包
    class Login(views.View):
    message = ''
    #分发器
    def dispatch(self, request, *args, **kwargs):
    print("eric")
    req = super(Login,self).dispatch(request,*args,**kwargs)
    print("ericc")
    return req
    @method_decorator(outer)
    def get(self,request,*args,**kwargs):
    return render(request,"login.html")

    @method_decorator(outer)
    def post(self,request,*args,**kwargs):
    user = request.POST.get("user")
    pwd = request.POST.get("pwd")
    c=1#数据库取值对照
    if c:
    request.session["is_login"] = True
    request.session["username"] = user
    req=redirect("/login/")
    return req
    else:
    message = "用户名或密码错误"
    return render(request,"login.html",{"msg":message})
  • 相关阅读:
    java 环境变量
    maven配置国内镜像库
    swagger ui
    jenkins systemctl启动失败
    gradle 错误
    jenkins 自动构建gitlab项目
    git
    Spinnaker 介绍
    openstack 基础服务软件安装配置(queens,centos-7)
    openstack-nova(queens)
  • 原文地址:https://www.cnblogs.com/wylshkjj/p/11683250.html
Copyright © 2011-2022 走看看