相关疑难解决方法(0)

将类添加到表单字段Django ModelForm

我正在尝试用Django ModelForm编写一个Bootstrap表单.我已经阅读了关于Forms的Django Documentation Django文档,所以我有这个代码:

<div class="form-group">
{{ form.subject.errors }}
<label for="{{ form.subject.id_for_label }}">Email subject:</label>
{{ form.subject }}</div>
Run Code Online (Sandbox Code Playgroud)

{{form.subject}}通过Django的呈现,例如,在CharField场模型,作为输入标签,

<input type="text"....> etc.
Run Code Online (Sandbox Code Playgroud)

我需要为每个输入添加"form-control"类,以获得Bootstrap输入外观(没有第三方包).我发现这个解决方案Django将类添加到表单字段中.有没有办法在默认情况下为每个字段添加一个类,而不在Form类的每个属性中指定它?

class ExampleForm(forms.Form):
   name = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control'}))
   email = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control'}))
   address = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control'}))
   country = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control'}))
Run Code Online (Sandbox Code Playgroud)

等等 ..

提前致谢.

django django-templates django-forms

20
推荐指数
4
解决办法
2万
查看次数

Django Forms模板设计类

Django Forms框架非常出色,只需通过以下方式呈现整个表单.

{{ form.as_p }}
Run Code Online (Sandbox Code Playgroud)

对于注册表单,它将上面转换为:

<p><label for="id_username">Username:</label> <input id="id_username" type="text" name="username" maxlength="30" /> Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores).</p>
<p><label for="id_email">Email:</label> <input type="text" name="email" id="id_email" /></p>
<p><label for="id_firstname">Firstname:</label> <input type="text" name="firstname" id="id_firstname" /></p>
<p><label for="id_lastname">Lastname:</label> <input type="text" name="lastname" id="id_lastname" /></p>
<p><label for="id_password1">Password:</label> <input type="password" name="password1" id="id_password1" /></p>
<p><label for="id_password2">Password confirmation:</label> <input type="password" name="password2" id="id_password2" /></p>
Run Code Online (Sandbox Code Playgroud)

但是为了设计我想在表单中为每个元素添加类,如下所示:

<p><label for="id_email" class="field-title">Email:</label> <input type="text" name="email" id="id_email" /></p>
<p><label for="id_firstname" class="field-title">Firstname:</label> <input type="text" name="firstname" id="id_firstname" /></p>
<p><label …
Run Code Online (Sandbox Code Playgroud)

css forms django templates

4
推荐指数
2
解决办法
5521
查看次数

标签 统计

django ×2

css ×1

django-forms ×1

django-templates ×1

forms ×1

templates ×1