Django 表单样式定制

2023-04-11 00:00:00 样式 表单 定制

Django 提供了一种简单的方式来自定义表单样式——使用 CSS 类。

在表单类定义中,我们可以为每个字段定义一个 CSS 类,然后在模板中使用这个类来自定义样式。

例如,我们定义一个登录表单类,包括两个字段——用户名和密码:

from django import forms

class LoginForm(forms.Form):
    username = forms.CharField(label='用户名', max_length=100, widget=forms.TextInput(attrs={'class': 'form-control'}))
    password = forms.CharField(label='密码', max_length=100, widget=forms.PasswordInput(attrs={'class': 'form-control'}))

在上面的定义中,我们在每个字段的 widget 属性中传入了一个字典来指定 CSS 类。现在我们在模板中使用这个表单:

<form>
  {% csrf_token %}
  <div class="form-group">
    {{ form.username.errors }}
    <label class="control-label">{{ form.username.label }}</label>
    {{ form.username }}
  </div>
  <div class="form-group">
    {{ form.password.errors }}
    <label class="control-label">{{ form.password.label }}</label>
    {{ form.password }}
  </div>
  <button type="submit" class="btn btn-primary">登录</button>
</form>

在模板中,我们使用了 Bootstrap 的 form-group 类来将每个字段的标签和输入框组合在一起。我们也使用了 form-control 类来指定输入框的样式。

这种方式可以帮助我们轻松地自定义表单样式,使其更加适合我们的项目需求。

相关文章