使用 Django 在一个页面上登录和注册表单
Posted
技术标签:
【中文标题】使用 Django 在一个页面上登录和注册表单【英文标题】:Login and registration form on one page with Django 【发布时间】:2011-10-06 01:12:04 【问题描述】:我已经坚持了一段时间。我试图将登录和注册表单放在同一页面上,但是根据我尝试的方法,我遇到了多个错误。该页面实际上能够很好地加载,但是两个表单字段都不会加载。然后当我点击注册或登录按钮(都输入提交)时,我最近收到了一个与 csrf 相关的错误。任何有关如何在同一页面上实现这两种表单的建议将不胜感激。
【问题讨论】:
显示你当前的代码,你可以暂时禁用crsf中间件进行调试。 您找到解决方案了吗?我也遇到了同样的问题。 是的,也只是偶然发现了这个问题,除了完全禁用保护之外没有其他解决方案。 【参考方案1】:我认为这可能是 csrf token not found 错误。如果您将 django 1.3 与 csrf 中间件一起使用,则必须在每个表单中添加 csrf token % csrf_token % 标签,如下所示:
% extends "admin/base.html" %
% load i18n %
% block content %
<form method="post" action=".">% csrf_token %
form.as_p
<input type="submit" value="% trans 'Submit' %" />
</form>
% endblock %
【讨论】:
我正确使用了 csrf 令牌,至少按照您描述的方式,所以不幸的是,这是另一个问题。你知道有人用django在同一页面上成功创建了注册和登录区域吗?以上是关于使用 Django 在一个页面上登录和注册表单的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Django-Registration-Redux 注册表单放在其他页面上?
如何使用模板在 WooCommerce 的两个不同页面上显示登录和注册表单