【发布时间】:2013-12-26 17:06:55
【问题描述】:
我正在使用django-registration。让它工作后,我继续使用 Bootstrap 扩展视图和表单以进行字段自定义。
除注销页面外,我对所有内容都有此功能。在默认方法中,我只是从头开始构建表单,它工作正常。但是当尝试使用 Django 的表单时,它根本没有显示字段。登录和注销模板都使用这种基本形式:
<div class="auth-form">
<form class="form-signin" method="post" action="/accounts/login/">
{% csrf_token %}
<h2 class="form-signin-heading">Please log in</h2>
<div class="font-16px top-mar-1em">
<label for="id_username"></label>
{{ form.username }}
<label for="id_password1"></label>
{{ form.password }}
<div class="form-group">
<div class="col-sm-10">
<div class="level-checkbox">
<label for="checkbox">
{{ form.remember_me }} Remember me
</label>
</div>
</div>
</div>
<button class="btn btn-primary" type="submit">Log in</button>
</div>
</form>
</div>
这适用于登录页面,但对于注销页面则不行(缺少字段)。就像此页面无法使用表单一样。我确定我错过了一些简单的东西,但我无法弄清楚。
我的urls.py 部分如下所示:
url(r'^accounts/login/$','django.contrib.auth.views.login', {
'template_name': 'registration/login.html',
'authentication_form': UserAuthenticationForm,
}),
我尝试向urls.py 添加一个注销部分,类似于登录部分,但没有奏效。我试过使用logout_then_login,在logout.html 上使用login.html 作为导入模板和其他杂项都无济于事。
显然,没有与默认注销视图关联的表单,所以这可能是问题所在,但我不确定在注销视图中实现标准表单的最佳方式。
【问题讨论】:
-
您使用什么视图来生成注销页面?
-
到目前为止,默认视图...我扩展了
AuthenticationView以进行登录,但是当我将相同的视图传递给urls.py时,它会引发错误。这确实感觉我可能遗漏了一些东西,但我不确定如何实现它。 -
默认的 Django 注销视图没有任何关联的表单。我是否正确,因为您想要注销用户,然后让他们再次重定向到登录表单?
-
是的,这是正确的,但是使用不同的模板,
logout.html,所以我可以向用户显示消息。我没有意识到默认视图没有与之关联的任何表单。那么,这很可能是我的问题。最好的方法是什么?我尝试将我为登录视图/页面创建的扩展表单作为参数传递给urls.py,但它抛出了一个错误......
标签: django django-registration form-fields