2014-04-20 110 views
0

我有一个Django形式设置如下:额外的表单字段在Django的形式添加渲染

forms.py

class TestimonialForm(forms.ModelForm): 
    name = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control'})) 
    designation = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control'})) 
    testimonial = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control test-form-area'})) 

    class Meta: 
     model = Testimonials 

models.py

class Testimonials(models.Model): 
    name = models.CharField(max_length=128) 
    test = models.CharField(max_length=2000) 
    credentials = models.CharField(max_length=128) 

    def __unicode__(self): 
     return self.name 

views.py

def add_testimonial(request): 
    context = RequestContext(request) 
    if request.method == 'POST': 
     form = TestimonialForm(request.POST) 

     if form.is_valid(): 
      form.save(commit=True) 

      return index(request) 
     else: 
      print form.errors 

    else: 
     form = TestimonialForm() 

    return render_to_response('/add_testimonial.html', {'form': form}, context) 

在呈现,我看到三个主要领域临t我在forms.py中定义了将form控件添加到它们的类。但是,我也看到两个没有附加样式的额外字段。任何想法出了什么问题?

回答

1

您的表单定义了字段名称,名称和证明,但该模型提供了名称,测试和凭证。所以name字段被重新定义为额外样式,但其他两个字段仅被添加到模型提供的默认字段中。如果你想覆盖它们,你需要使用相同的名字。

相关问题