我有一个由以下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}}
我怎么能这样做? (优选地,全部在视图内)。谢谢。
答案 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发布电子邮件。)