2011-06-16 59 views
3

有没有更好的方式来获取表单类中的数据?获取表单类中的表单数据。

from django import forms 

class ContactForm(forms.Form): 
    subject = forms.CharField(required=True) 
    message = forms.CharField(required=True, widget=forms.Textarea) 

    def send(self): 
     self.data['data']['subject'] 
     self.data['data']['message'] 

回答

6

你的意思是你需要填写表格的值吗?

在您的意见中,使用form.is_valid()检查表单是否有效;这填充self.cleaned_data包含您清理的值。如果不先验证它,使用数据并不是那么安全。

这样:

views.py:

if request.method == 'post': 
    form = ContactForm(request.POST) 
    if form.is_valid(): 
     form.send() 

forms.py:

from django import forms 

class ContactForm(forms.Form): 
    subject = forms.CharField(required=True) 
    message = forms.CharField(required=True, widget=forms.Textarea) 

    def send(self): 
     subject = self.cleaned_data['subject'] 
     ... 
+0

谢谢,我想知道为什么我一直在阅读有关cleaned_data但我的形式并没有这样属性。 – Pickels 2011-06-16 16:34:03