我目前正在使用django-allauth来管理我的注册和登录。
到目前为止,我的所有登录和注册工作都是通过将django-allauth页面设置为/accounts/
前缀的url模式,因此要注册一个新帐户,您需要导航到/accounts/signup/
。我想保留此功能,但也希望在我的登录页面(在我的基本网址)上引入注册表单,并且我想在我的网站中的任何位置(而不是{{1})在我的顶部横幅中快速登录表单})。
我的问题很简单,我们如何在整个网站的任何地方创建登录和注册表单,而不是将其限制为我的网址的特定前缀?
答案 0 :(得分:1)
如果您想在着陆页或其他地方创建注册/登录表单,可以查看以下问题:https://stackoverflow.com/a/24179796/2230003
基本上,对于仅使用电子邮件而不是用户名登录的登录/注销表单,模板中的代码将为:
{% 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 %}