Django 处理 Bootstrap 表单
我有一个表单:
<form class="form-signin" role="form" method="POST" action="{% url 'django.contrib.auth.views.login' %}">
{% csrf_token %}
<input type="text" class="form-control" placeholder="Usuario" required autofocus>
<input type="password" class="form-control" placeholder="Password" required>
<button class="btn btn-lg btn-primary btn-block" type="submit">
Sign in
</button>
<input type="hidden" name="next" value="{{ next }}" />
<label class="checkbox pull-left">
<input type="checkbox" value="remember-me">
Remember me
</label>
</form>
这个表单用了Bootstrap的样式。我之前有一个这样的表单:
<form class="form-signin" role="form" method="POST" action="{% url 'django.contrib.auth.views.login' %}">
{% csrf_token %}
<table>
<tr>
<td>{{ form.username.label_tag }}</td>
<td>{{ form.username }}</td>
</tr>
<tr>
<td>{{ form.password.label_tag }}</td>
<td>{{ form.password }}</td>
</tr>
</table>
<input type="hidden" name="next" value="{{ next }}" />
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
</form>
但是那个看起来真的很丑,所以我把它改了。问题是,在新表单中,我完全不知道怎么像以前那样实现Django的认证功能(以前的那个版本工作得很好,我只需要输入保存在Django的auth_table里的用户名和密码,就能顺利登录)
但是现在这个更好看的版本,我不知道该怎么做。我到处找了找,但都没有帮助。
任何建议都非常感谢。谢谢
编辑
我在这个视图的URL中使用了这个:
url(r'^login/$', 'django.contrib.auth.views.login',{'template_name':'login.html'}, name = 'login'),
所以我才会用那种丑陋的方式来渲染表单。
1 个回答
2
你可以自定义表单中的字段:
可以添加一些属性,比如类名、占位符(所有的HTML属性都可以)
class LoginForm(forms.Form):
username = forms.CharField(max_length=30,widget=forms.TextInput().attrs={'class': 'form-control','placeholder':'Usuario' })
password=forms.CharField(max_length=30,widget=forms.PasswordInput().attrs={'class': 'form-control','placeholder':'Password' })