如何使用Django-AllAuth在/ accounts / url模式之外使用注册表单?

时间:2015-01-12 12:25:17

标签: python django django-allauth django-login

我目前正在使用django-allauth来管理我的注册和登录。

到目前为止,我的所有登录和注册工作都是通过将django-allauth页面设置为/accounts/前缀的url模式,因此要注册一个新帐户,您需要导航到/accounts/signup/。我想保留此功能,但也希望在我的登录页面(在我的基本网址)上引入注册表单,并且我想在我的网站中的任何位置(而不是{{1})在我的顶部横幅中快速登录表单})。

我的问题很简单,我们如何在整个网站的任何地方创建登录和注册表单,而不是将其限制为我的网址的特定前缀?

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 %}