我在表单中遇到小部件问题。我在django向导中有3个步骤(3个表单),我想为每个字段设置样式。
如果我循环表单以分别设置每个字段的样式,它似乎可以工作但是,它不能使用我在模型中作为小部件的字段(它们看起来是样式但输入无法识别)。
例如,我在一种形式中有2个radiobutton,如果我使用type ="复选框"要在模板中设置字段样式,它不起作用。与textarea字段相同,我可以渲染textarea,但表单不识别输入。 有没有办法为小部件设置样式?
{% for form in wizard.form.forms %}
{% for field in form %}
<label class="control-label" for="id_{{ field.name }}">Message</label>
<textarea class="form-control" rows="10" cols="10"
id="id_{{ field.name }}" value="{{ field.value }}"
onblur="if(this.value == '') { this.value='{{field.name}}'}"
onfocus="if (this.value == '{{field.name}}') {this.value=''}" > </textarea>
<p class="help-text">{{ field.help_text }} </p>
{% endfor %}
{% endfor %}
将窗口小部件字段(窗口小部件= forms.Textarea)渲染为文本区域,但由于de字段被定义为窗口小部件,因此表单无法识别该值。
答案 0 :(得分:0)
在 forms.py 中添加小部件是最好的方法。像这样:
from django import forms
class CabModelForm( forms.ModelForm ):
descr = forms.CharField( widget=forms.Textarea )
class Meta:
model = Cab
从表格开始:
<form action="/contact/" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
你的表格有问题吗?它应该至少使用这个最小的代码。如果没有,您的views.py中最有可能出现错误。