而不是在页面登录'../account/login/'我想使用户可以直接登录主页例如。我该怎么做才能做到这一点?如何将主页上的输入字段与allauth连接起来?我不知道这是否太复杂,不能以这种方式进行工作?登录/直接在主页上注册
5
A
回答
2
有一种解决方案适用于我。这不是最佳解决方案,因为它不是干的,所以我会很感激有人改进它!
基本上我所做的是呈现官方allauth登录模板并复制表单的HTML代码。然后我更改了csrf标记和url并将其粘贴到主页模板。
以下是登录/注销的示例代码。您可以通过注册完成相同的操作。 (请注意,我仅使用电子邮件而不是用户名登录,根据您的allauth设置,您的代码可能会有所不同。请查看您的登录和注册模板,查看您需要输入的字段及其名称。)
{% load account %}
<h1>Login/Logout</h1>
{% if user.is_authenticated %}
<p>Loged in with e-mail: {{ request.user.email }}</p>
<a href="{% url "account_logout" %}">Logout</a>
{% else %}
<form action="{% url "account_login" %}" method="post">
{% csrf_token %}
<input type="email" placeholder="E-mail" name="login">
<input type="password" placeholder="Password" name="password">
<label for="id_remember_menu" class="text-primary">Remember Me:</label>
<input id="id_remember_menu" name="remember" type="checkbox">
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
<button type="submit">Login</button>
<a href="{% url 'account_reset_password' %}">Forgot Password?</a>
</form>
{% endif %}
我想改善的代码,并能够直接呈现的形式,主页模板,{{ form }}
而不是复制的HTML。如果我设法做到这一点,我会稍后更新回复。
0
如果您确实需要,可以将allauth URL放在不同的路径下。 allauth使用基于名称的URL反转,所以新的路径前缀将被自动选取。
+0
不幸的是,这并没有帮助,因为我需要在同一页面(例如主页)上具有“登录”表单和“注册”表单。我需要这样的东西:http://healthifyme.com/大多数使用allauth的网站都有默认的URL路径(帐户/),但我真的必须定制它。 –
相关问题
- 1. 登录并注册主页
- 2. django注册登录并在一个页面上注册
- 3. Wordpress登录注册页面
- 4. 如何链接注册并登录主页?
- 5. 主页上的django allauth登录和注册表
- 6. django注册,注册和登录表格在索引页上,我做对了吗?
- 7. 登录用户请参阅登录和注册页面(django注册)
- 8. 注册和登录
- 9. PHP登录/注册
- 10. Codepen注册/登录
- 11. 钛登录/注册
- 12. Android注册/登录
- 13. Android登录注册
- 14. 如何连接登录页面和注册页面?
- 15. 注册并直接登录轨道3设计?
- 16. 连接重置在laravel 5登录或注册页面
- 17. Joomla,注册页面需要登录
- 18. 编辑woocommerce登录注册页面
- 19. 登录/注册结帐页面?
- 20. 返回注册页面登录后
- 21. 我的登录和注册页面
- 22. Woo-commerce独立登录&注册页面
- 23. 登录和注册页面问题php
- 24. 联合登录和注册页面?
- 25. 只能通过登录/注册才能访问主页
- 26. 在主页上设计注册表单?
- 27. 在主页上设计注册表单
- 28. 用Javascript注册用户注册登录
- 29. Django注册 - 成功登录后从登录/注册重定向
- 30. FOSUserBundle - 在一个页面上登录并注册表格
它适合你吗?如果是这样,请不要忘记更新并接受答案!谢谢 – ferrangb
这是正确的做法,谢谢! –
@ferrangb您是否找到了直接使用{{form}}而不是复制HTML代码的方法? – Joey