zoukankan      html  css  js  c++  java
  • 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())

     

  • 相关阅读:
    iOS7 Assertion failure in -[UITableView layoutSublayersOfLayer:], /SourceCache/UIKit/UIKit-2903.2/UIView.m:8536
    mac上launchpad上顽固图标的删除办法
    证书和配置文件
    直接调用对象方法的两种方式
    Instrument使用
    ios第三方库和工具类
    pod 私有 pod 库创建和使用
    iOS 新 app 上架准备
    iOS 上架记录:Other
    ios Permission denied Command PhaseScriptExecution failed with a nonzero exit code
  • 原文地址:https://www.cnblogs.com/abel01250303/p/9564540.html
Copyright © 2011-2022 走看看