Я прорабатываю урок в книге Django 2 By Example with PyCharm и Chrome. Я использую Django 2.0.8, как указано в книге. Как говорится, у меня есть следующий шаблон base.html:
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<title>{% block title %}{% endblock %}</title>
<link href="{% static 'css/base.css' %}" rel="stylesheet">
</head>
<body>
<div id="header">
<span class="logo">Bookmarks</span>
{% if request.user.is_authenticated %}
<ul class="menu">
<li {% if section == "dashboard" %} class="selected" {% endif %}>
<a href="{% url 'dashboard' %}">My dashboard</a>
</li>
<li {% if section == "images" %} class="selected" {% endif %}>
<a href="#">Images</a>
</li>
<li {% if section == "people" %} class="selected" {% endif %}>
<a href="#">People</a>
</li>
</ul>
{% endif %}
<span class="user">
{% if request.user.is_authenticated %}
Hello {{ request.user.first_name }},
<a href="{% url 'logout' %}">Logout</a>
{% else %}
<a href="{% url 'login' %}">Log-in</a>
{% endif %}
</span>
</div>
<div id="content">
{% block content %}
{% endblock %}
</div>
</body>
</html>
Кажется, это время от времени меня входило в систему? Он сработает один раз, затем я выйду из системы, и он не позволит мне войти снова.
В моем views.py есть представление login_required, которое перенаправляет на шаблон панели инструментов и назначает контекст раздела:
@login_required
def dashboard(request):
return render(request, 'account/dashboard.html', {'section': 'dashboard'})
Мой settings.py назначает такие URL-адреса для входа:
LOGIN_REDIRECT_URL = 'dashboard'
LOGIN_URL = 'login'
LOGOUT_URL = 'logout'
Если я вхожу на страницу администратора, а затем перехожу на свою страницу входа, панель управления отображается правильно, как это:
Но я не могу войти в систему с экрана входа в систему. Что я делаю неправильно?