我有一个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中定义的三个主要字段,其中添加了表单控件。但是,我还看到两个没有附加样式的额外字段。知道出了什么问题吗?
答案 0 :(得分:1)
您的表单定义了字段名称,名称和推荐,但该模型提供了名称,测试和凭据。因此,名称字段将使用额外样式重新定义,但其他两个字段将简单地添加到模型提供的默认字段中。如果要覆盖它们,则需要使用相同的名称。