Всё прекрасно работает, читайте документацию!
Ссылка на диск с рабочим шаблоном -
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 %}
Вот так это выглядит: