您的位置:首页 > 编程语言 > Go语言

Django form表单使用

2014-09-09 13:36 465 查看




在前端提交数据的时候,常常需要提交表单数据。
而在Django中可以使用表单类进行简化操作,方便后台对于表单的处理。
例如下面表单类的一个例子:

from django import forms

class ContactForms:
subjects = forms.CharField(max_length = 100)
email = forms.EmailField(required = False)
message = forms.charField(widget = forms.Textarea)

#Django 的 forms系统会自动匹配以clean_开头,以字段名为结束的方法
#当在校验时会被调用
def clean_message(self):
message = self.cleaned_data['message']
num_words = len(message.split())
if num_words < 4:
raise forms.ValidationError("Not enough words!")

return message

#当在view视图中使用时,直接生成即可def contact(request):
if request.method == 'POST':
form = ContactForms(request.POST)
if form.is_valid():
return HttpResponseRedirect('thank.html')


定制Form设计

显示表单除了可以{{form.as_p}},{{form.as_table}},等,也可以使用CSS设计。
每一个字段部件都可以通过访问{{form.字段名}}进行单独渲染,这个地方需要注意,因为前端渲染必须需要采用这些方法。
<html>
<head>
<title>Contact Us</title>
</head>

<!--基本的css样式都可以在这里加-->
<form acton = "" method = "post">
<div class = "field">
<label for = "id_subject" >Subject:</label>
{{form.subject}}
</div>

<div class = "field">
<label for = "id_email" >Email:</label>
{{form.email}}
</div>

<div class = "field">
<label for = "id_message" >Message:</label>
{{form.message}}
</div>

</form>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: