Как использовать форму регистрации за пределами шаблона /accounts/url с Django-AllAuth?

В настоящее время я использую django-allauth для управления регистрацией и входом в систему.

До сих пор все мои входы и регистрации работали, если страницы django-allauth имели префикс /accounts/ для шаблонов URL-адресов, поэтому для регистрации новой учетной записи вам нужно было перейти к /accounts/signup/. Я хочу сохранить эту функциональность, но также хочу ввести форму регистрации на свою целевую страницу (по моему базовому URL-адресу), и я хочу иметь форму быстрого входа в свой верхний баннер из любого места на моем веб-сайте (не /accounts/).

Мой вопрос прост: как мы можем создавать формы входа и регистрации в любом месте сайта, не ограничивая их определенным префиксом моих URL-адресов?


person Jim    schedule 12.01.2015    source источник


Ответы (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 %}
person ferrangb    schedule 13.01.2015
comment
Это сработало? Если это так, пожалуйста, примите и поддержите ответ. Спасибо! - person ferrangb; 16.01.2015
comment
Мои извинения за задержку с ответом, я не смог опробовать ваше предложение, так как отсутствовал некоторое время. Я не знал, что могу просто {% load account %} по корневому URL-адресу. Спасибо! - person Jim; 19.01.2015