• Django中的form模块的高级处理


    forms高级处理

    使用原理:将ModelsForms结合到一起使用,Forms中的类和Models中的类关联到一起,实现属性的共享

     

    使用步骤:

    1. forms.py中创建class 继承自forms.ModelForm
    2. 创建内部类:Meta,关联FormModel

    属性:

    1. model:指定要关联的Model
    2. Fields:指定从Models中取哪些字段生成控件
      1. 取值’__all__’,全部的属性都要生成控件
      2. 取值为列表,声明允许生成控件的属性名称
      3. labels:指定每个属性所关联的label取值为字典

    Label={‘字段名’label文字’}

    下面用一个简单的登录实例来记录一下他的使用方法:

    login.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    </head>
    <body>{{ messagebox }}
    <form action="/11_register/" method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <p>
    <input type="submit" value="登录">

    </p>

    </form>
    </body>
    </html>

    forms.py

     1 class userloginForm(forms.ModelForm):
     2     class Meta:
     3         #1.指定关联的model(记得要引入models.py)
     4         model=user
     5         #指定要生成控件的字段
     6         fields=['uname','upwd']
     7         # 指定每个控件的label
     8         labels={
     9             'uname':'用户名:',
    10             'upwd':'密码',
    11         }

    views.py

     1 def login_view1(request):
     2     if request.method=='GET':
     3         form=userloginForm()
     4         return render(request,'newlogin.html',locals())
     5     else:
     6         form = userloginForm()
     7         if form.is_valid():
     8             values=form.cleaned_data
     9             uname=values['uname']
    10             upwd=values['upwd']
    11             ulist = user.objects.filter(uname=uname, upwd=upwd)
    12             if ulist:
    13                 return HttpResponse('登录成功')
    14             else:
    15                 messagebox='登录失败'
    16                 return  render(request,'newlogin.html',locals())

     

  • 相关阅读:
    成功熬了四年还没死?一个IT屌丝创业者的深刻反思
    史氏语录
    WEB安全攻防学习内容
    从程序员的角度谈创业三年
    Windows2008 R2修改3389端口教程
    Win2008R2 zip格式mysql 安装与配置
    制作支持UEFI PC的Server2008 R2系统安装U盘
    郎科U208(主控 PS2251-50 HYNIX H27UCG8T2MYR)量产还原
    自用有线IP切换
    自动配置IP地址.bat
  • 原文地址:https://www.cnblogs.com/abel01250303/p/9564540.html
Copyright © 2020-2023  润新知