Django 表单样式定制
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 类来指定输入框的样式。
这种方式可以帮助我们轻松地自定义表单样式,使其更加适合我们的项目需求。
相关文章