如何将 Django-Registration-Redux 注册表单放在其他页面上?
Posted
技术标签:
【中文标题】如何将 Django-Registration-Redux 注册表单放在其他页面上?【英文标题】:How do I put the Django-Registration-Redux registration form on other pages? 【发布时间】:2015-11-13 23:06:02 【问题描述】:我正在使用 Django 1.8 和 Django-Registration-Redux 1.2。
我想在登录页面上使用自定义 Django-Registration-Redux 注册表单。
我有这个在registration_custom/forms.py
:
from registration.forms import RegistrationFormTermsOfService, RegistrationFormUniqueEmail
class RegistrationFormUniqueEmailAndTOS(RegistrationFormTermsOfService, RegistrationFormUniqueEmail):
pass
为了使用这个,我的项目urls.py
包括这个:
url(r'^accounts/register/$', RegistrationView.as_view(form_class=RegistrationFormUniqueEmailAndTOS), name='registration_register'),
url(r'^accounts/', include('registration.backends.default.urls')),
开箱即用的注册涉及三个视图:
views.py:
class _RequestPassingFormView(FormView)
class RegistrationView(_RequestPassingFormView)
后端/默认/views.py
from registration.views import RegistrationView as BaseRegistrationView
class RegistrationView(BaseRegistrationView)
所以我认为我需要任何包含注册表单的views
,以便从backends/default/views.py
继承RegistrationView
。它是否正确?我该如何指定我的自定义表单?
谢谢!
【问题讨论】:
你是怎么做到的? 【参考方案1】:1.在你看来:
from registration.views import RegistrationView
class MyRegistrationView(RegistrationView):
template_name = "index.html"
更改用于用户注册的模板。 Take a look at the documentation.
2.在你的网址中:
from apps.views import MyRegistrationView
url(r'^$', MyRegistrationView.as_view(), name='index'),
3.然后,在您的登陆模板中,您可以输入以下表格:
% block content %
<h1>Register now!</h1>
<form method="post" action=".">
% csrf_token %
form
<input class='btn btn-block btn-primary' type="submit" value="% trans 'Join' %" />
</form>
% endblock %
【讨论】:
以上是关于如何将 Django-Registration-Redux 注册表单放在其他页面上?的主要内容,如果未能解决你的问题,请参考以下文章