Django表单中添加的额外表单字段呈现

时间:2014-04-20 22:05:56

标签: python 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)

在渲染时,我看到我在forms.py中定义的三个主要字段,其中添加了表单控件。但是,我还看到两个没有附加样式的额外字段。知道出了什么问题吗?

1 个答案:

答案 0 :(得分:1)

您的表单定义了字段名称,名称和推荐,但该模型提供了名称,测试和凭据。因此,名称字段将使用额外样式重新定义,但其他两个字段将简单地添加到模型提供的默认字段中。如果要覆盖它们,则需要使用相同的名称。