如何将 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 注册表单放在其他页面上?的主要内容,如果未能解决你的问题,请参考以下文章

如何将Ios文件上传到

Qt如何将文字变成图片?

如何将Bitmap保存为本地图片文件?

在MATLAB中如何将图导出

ASP如何将SQLSERVER数据导出到DBF(VF)

如何将CSV格式转换成JSON格式