@Ramplin

Не авторизируется через форму, в чем проблема?

Не могу зайти через эту форму, только через админку (когда жму вход ниче не происходит просто страница обновляется) зато работает logout. Аналогично с регистрацией. Не пойму, что и куда еще добавить.

в urls
from django.conf.urls import url, include


urlpatterns = [
    url('^', include('django.contrib.auth.urls')),
]


На странице входа
{% if form.errors %}
                            <p>Your username and password didn't match. Please try again.</p>
                        {% endif %}

                        {% if next %}
                            {% if user.is_authenticated %}
                                <p>Your account doesn't have access to this page. To proceed,
                                    please login with an account that has access.</p>
                            {% else %}
                                <p>Please login to see this page.</p>
                            {% endif %}
                        {% endif %}

                        <form method="post" action="{% url 'login' %}">
                            {% csrf_token %}

                            <div>
                                <td>{{ form.username.label_tag }}</td>
                                <td>{{ form.username }}</td>
                            </div>
                            <div>
                                <td>{{ form.password.label_tag }}</td>
                                <td>{{ form.password }}</td>
                            </div>

                            <div>
                                <input type="submit" value="login"/>
                                <input type="hidden" name="next" value="{{ next }}"/>
                            </div>
                        </form>

                        {# Assumes you setup the password_reset view in your URLconf #}
                        <p><a href="{% url 'password_reset' %}">Lost password?</a></p>
  • Вопрос задан
  • 250 просмотров
Пригласить эксперта
Ответы на вопрос 1
Xaip
@Xaip
Всё прекрасно работает, читайте документацию!
Ссылка на диск с рабочим шаблоном - https://cloud.mail.ru/public/Gw4s/oG2NffThN
Оригинальная документация - https://docs.djangoproject.com/en/1.11/topics/auth...
Документация на русском - https://djbook.ru/rel1.9/topics/auth/default.html
В urls:
from django.conf.urls import url, include
from django.contrib.auth import views as auth_views

urlpatterns = [
url(r'^accounts/login/$', auth_views.login, {'template_name': 'myapp/login.html'}),
]

В settings.py ОБЯЗАТЕЛЬНО добавьте пути к статике и медиа, на продакшене придется изменить:
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
MEDIA_URL = '/templates/'

В шаблоне убрал строку ведущую на url с восстановлением пароля:
{#ЭТОТ ШАБЛОН предполагает, что у вас есть шаблон base.html, который определяет блок content#}
{% extends "myapp/base.html" %}

{% block content %}

{% if form.errors %}
<p>Your username and password didn't match. Please try again.</p>
{% endif %}

{% if next %}
    {% if user.is_authenticated %}
    <p>Your account doesn't have access to this page. To proceed,
    please login with an account that has access.</p>
    {% else %}
    <p>Please login to see this page.</p>
    {% endif %}
{% endif %}

<form method="post" action="{% url 'django.contrib.auth.views.login' %}">
{% csrf_token %}
<table>
<tr>
    <td>{{ form.username.label_tag }}</td>
    <td>{{ form.username }}</td>
</tr>
<tr>
    <td>{{ form.password.label_tag }}</td>
    <td>{{ form.password }}</td>
</tr>
</table>

<input type="submit" value="login" />
<input type="hidden" name="next" value="{{ next }}" />
</form>

{# Assumes you setup the password_reset view in your URLconf #}

{% endblock %}

Вот так это выглядит:
59f178ca19b6a412405277.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы