forms.py
表單模板
from django import forms from mysite import models
建立窗體類Form
#!/usr/bin/env python
# -*-coding:utf-8-*-
class ContactForm(forms.Form):
CITY = [
['TP','Taipei'],
['TY','Taoyuang'],
['TC','Taichung'],
['TN','Tainan'],
['KS','Kaohsiung'],
['NA','Others'],
]
user_name = forms.CharField(label = '您的姓名',max_length = 50,initial = '李大仁')
user_city = forms.ChoiceField(label = '居住城市',choices = CITY)
user_school = forms.BooleanField(label = '是否在學(xué)',required = False)
user_email = forms.EmailField(label = '電子郵件')
user_message = forms.CharField(label = '您的意見',widget = forms.Textarea)
常用的字段格式設(shè)置方法
使用ModelForm來產(chǎn)生窗體
class PostForm(forms.ModelForm):
## captcha = CaptchaField()
class Meta:
mood = models.Mood ##指定窗口要引入哪個(gè)models
model = models.Post
fields = ['mood','nickname','message','del_pass'] ##指定使用models中的哪個(gè)字段
##以下是把默認(rèn)的英文字段名改為中文字段名
def __init__(self, *args, **kwargs):
super(PostForm,self).__init__(*args,**kwargs)
self.fields['mood'].label = '現(xiàn)在的心情'
self.fields['nickname'].label = '您的昵稱'
self.fields['message'].label = '心情留言'
##self.fields['enabled'].label = "是否直接顯示在主頁"
self.fields['del_pass'].label = '設(shè)置密碼'
##self.fields['captcha'].label = '請輸入驗(yàn)證碼'