Django Form处理(一)

原创 2013年12月02日 18:19:37
  1. Django Form 主要有两种处理方式:
  2. 1.直接继承 forms.Form 
  3. 2.直接利用已有的model中的class,从ModelForm中继承.

  4. 这两种方式,都涉及到如下几个问题:
  5. 1.django form 显示中文字段名
  6. 2.django form field 的样式控制
  7. 3.django form 的数据校验
  8. 4.django form 数据提交后的处理.
  9. 第一种方式:
  10. class TestForm(forms.Form):
  11.     #==label 用来控制 form 字段的 中文显示,widget 可以控制其他属性,比如样式等。
  12.     yourname = forms.CharField(label='名称',max_length=50,widget=forms.TextInput(attrs={'style':'border:1px solid #ccc;'}))
  13.     website = forms.URLField(required=False,widget=forms.TextInput(attrs={'class':'myclass'}))
  14.     email = forms.EmailField(label='邮箱')
  15.     content = forms.CharField(label='内容',widget=forms.Textarea(attrs={'cols':'80','rows':'5'}))
  16.     
  17. def add_comment(request):
  18.     context={}
  19.     context.update(csrf(request))
  20.     form = TestForm()
  21.     context['form']=form
  22.     return render_to_response('form.html',context)

  23. def save_comment(request):
  24.     form = TestForm(request.POST)
  25.     #===校验form 中的数据,并处理.
  26.     if form.is_valid() :
  27.         print 'successs'
  28.         yourname = form.cleaned_data['yourname']
  29.         website = form.cleaned_data['website']
  30.         email = form.cleaned_data['email']
  31.         content = form.cleaned_data['content']
  32.         #===想干嘛就干嘛,可以插入数据库等
  33.         print 'get information:',yourname,email,website,content
  34.         
  35.         return render_to_response('form.html',locals())
  36.     else:
  37.         print 'error'
  38.         return render_to_response('form.html',locals())
  39. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  40. <html>
  41.     <head>
  42.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  43.         <title>Add contact</title>
  44.     </head>
  45.     <body>
  46.     <div><h2> 直接forms.Form 方式 </h2></div>
  47.         {% if form.errors %}
  48.         <p style="color: red;">
  49.             Please correct the error{{ form.errors|pluralize }} below.
  50.         </p>
  51.         {% endif %}        
  52.         
  53.         <form method="POST" action="/save_contact/">
  54.             {% csrf_token %}
  55.             <table>
  56.                 {{form.as_table}}
  57.             </table>
  58.             <input type="submit" value="submit"/>
  59.         </form>
  60.     </body>
  61. </html>


版权声明:csdn只作为备份地,欢迎访问zoues.com

Django笔记-Forms篇

今在学习 django 的时候 想把后台里的一个 CharField 用 Textarea来显示,找了很多地方,最后用 Forms解决,现在记录下来,留下以后备用。 在 APP下新建一froms...
  • lanlandechong
  • lanlandechong
  • 2012年06月20日 15:10
  • 315

Django表单处理

我们会从手工打造一个简单的搜索页面开始,看看怎样处理浏览器提交而来的数据。然后我们开始使用Django的forms框架。 搜索 在web应用上,有两个关于搜索获得巨大成功的故事:Google和Yaho...
  • wolaiye320
  • wolaiye320
  • 2016年07月11日 14:55
  • 1704

Django 中form的用法

django中form的使用方法,终于做出个小的项目例子,给大家借鉴参考。 form的主要作用:1.在html中生成表单框架,2.验证数据(实话实说,很简洁,但不实用,灵活性差) ...
  • angel20082008
  • angel20082008
  • 2016年08月02日 14:42
  • 1921

Django form模块使用心得

最近用Django 写了一个网站,现在来分享一下对Django form 的一些心得。 一,创建一个表单 创建一个Form表单有两种方式: 第一种方式是继承于forms.Form,的...
  • heizistudio
  • heizistudio
  • 2014年09月02日 10:12
  • 3843

Django的ModelForm简单用法

Django中内置了Form和Model两个类,有时候页面的表单form类与Model类是一一对应,因此分别定义Form类和Model类会比较麻烦,最简单的方式就是通过Model来生成一个Form类,...
  • FeeLang
  • FeeLang
  • 2014年05月05日 13:45
  • 21365

Django Form 实践总结

在业务开发中,表单验证是较为重要的一环,经过验证后的数据才能存储进数据库。其中,表单验证不仅包括对恶意数据的检测,还包括了对业务逻辑上的一些检测。之前笔者对Django Form的源码进行了一些浅显的...
  • laughing2333
  • laughing2333
  • 2017年01月25日 23:39
  • 1065

微信公众号授权登录 url中添加%E2%80%8b

原url是https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxxxxxxxxxxxx&redirect_uri=http://xxx...
  • liujian_01
  • liujian_01
  • 2015年05月29日 09:20
  • 1145

Django form表单使用

 在前端提交数据的时候,常常需要提交表单数据。 而在Django中可以使用表单类进行简化操作,方便后台对于表单的处理。 例如下面表单类的一个例子: from djan...
  • u012803869
  • u012803869
  • 2014年09月09日 13:36
  • 1205

django 表单提交的几种方式

第一种方式:直接建立form构建 新建model class Contact(models.Model): subject = models.CharField(max_length=10...
  • pianzif
  • pianzif
  • 2015年08月19日 10:54
  • 9512

django表单处理(一)--最简单的表单

是时候讲django的表单处理了。 最简单的表单处理就是从输入框中提取字符串,交给后台进行数据处理并返回相应结果。 本着简单入门的原则,今天设计的表单就只有一个文本框和一个按钮。 在templates...
  • whoami021
  • whoami021
  • 2014年03月10日 00:23
  • 2060
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Django Form处理(一)
举报原因:
原因补充:

(最多只允许输入30个字)