使用django-registration添加其他表单

时间:2011-06-28 02:08:06

标签: django django-templates django-forms

我有一个由以下urlconf呈现的注册表单 -

url(r'^$',
    register,
    {'backend': 'registration.backends.default.UserBackend',
     'template_name': 'index.html'},
    name='auth_index'),

在模板中,我有以下内容 -

<form method="post" action=".">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Register" />
</form>

如何向此模板添加其他表单和上下文?我希望能够拥有以下内容 -

<form method="post" action=".">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Register" />
</form>
...
<form action='{% url waiting_list %}' method='post'>{% csrf_token %}
<p>Enter your email: <input type="text" name="email" value=""></p>
<input type="submit" name="email_submit" value="Submit Email">
</form> 
{{message}}

我怎么能这样做? (优选地,全部在视图内)。谢谢。

1 个答案:

答案 0 :(得分:1)

您的模板没问题。现在,您将waiting_list url添加到您的uelconf并实现它的视图:

url(r'^waiting_list/$', 'myapp.views.waiting_list', {}, name='waiting_list'),

   # myapp/views.py
   def waiting_list(request):
       ...

由于这不是数据关键形式,我可能会使用@csrf_exempt来绕过csrf验证以使事情变得更容易。如果出现错误,请重定向到错误页面。

(BTW,可用性方面,针对此问题的更好实现可能是使用javascript发布电子邮件。)

相关问题