博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django中的form模块的高级处理
阅读量:4677 次
发布时间:2019-06-09

本文共 1406 字,大约阅读时间需要 4 分钟。

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

       
Title {
{ messagebox }}
{% csrf_token %} {
{ form.as_p }}

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())

 

 

 

 

转载于:https://www.cnblogs.com/abel01250303/p/9564540.html

你可能感兴趣的文章
Android手机 Fildder真机抓包
查看>>
[stm32] 中断
查看>>
L1-043 阅览室
查看>>
我大学时代的好朋友要结婚了!
查看>>
RTP Payload Format for Transport of MPEG-4 Elementary Streams over http
查看>>
PAT-1134. Vertex Cover (25)
查看>>
git 命令图解
查看>>
让App飞久一点
查看>>
Structure Streaming和spark streaming原生API访问HDFS文件数据对比
查看>>
分布式存储系统可靠性系列三:设计模式
查看>>
固定背景图片铺满浏览器窗口
查看>>
Android的View和ViewGroup分析(转载)
查看>>
进程线程任务程序之间的关系
查看>>
this关键字的由来及使用
查看>>
两个时间相差多少 .net中的timespan应用
查看>>
递归 换零钱问题——由打靶子问题引申
查看>>
Python-函数基础
查看>>
Extensible Messaging and Presence Protocol (XMPP) 简介
查看>>
Farm Irrigation
查看>>
lvs+keepalived集群架构服务
查看>>