如何在 Django-AllAuth 中使用 /accounts/ url 模式之外的注册表单?
How to use a signup form outside of the /accounts/ url pattern with Django-AllAuth?
我目前正在使用 django-allauth 来管理我的注册和登录。
直到现在,我的所有登录和注册都是通过在 /accounts/
前缀的 url 模式下使用 django-allauth 页面来实现的,因此要注册一个新帐户,您可以导航到 /accounts/signup/
。我想保留此功能,但也想在我的登录页面(在我的基地 url)上引入一个注册表单,并且我想在我网站的任何位置的顶部横幅中有一个快速登录表单(不是/accounts/
).
我的问题很简单,我们如何在整个站点的任何地方创建登录和注册表单,而不将其限制为我的 url 的特定前缀?
如果您想在着陆页或其他地方创建 signup/login 表单,您可以看一下这个问题:
基本上,对于仅使用电子邮件而不使用用户名登录的 login/logout 表单,模板中的代码为:
{% 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 %}
我目前正在使用 django-allauth 来管理我的注册和登录。
直到现在,我的所有登录和注册都是通过在 /accounts/
前缀的 url 模式下使用 django-allauth 页面来实现的,因此要注册一个新帐户,您可以导航到 /accounts/signup/
。我想保留此功能,但也想在我的登录页面(在我的基地 url)上引入一个注册表单,并且我想在我网站的任何位置的顶部横幅中有一个快速登录表单(不是/accounts/
).
我的问题很简单,我们如何在整个站点的任何地方创建登录和注册表单,而不将其限制为我的 url 的特定前缀?
如果您想在着陆页或其他地方创建 signup/login 表单,您可以看一下这个问题:
基本上,对于仅使用电子邮件而不使用用户名登录的 login/logout 表单,模板中的代码为:
{% 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 %}