如何将Django-Registration-Redux注册表单放在其他页面上?

时间:2015-08-20 10:37:57

标签: django django-forms django-views registration django-registration

我正在使用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来继承RegistrationView的{​​{1}}。它是否正确?我该如何指定自定义表单?

谢谢!

1 个答案:

答案 0 :(得分:0)

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 %}