settings.py
...
INSTALLED_APPS = [
# Мои приложения
'learning_logs',
'users',
# Приложения django по умолчанию.
...
]
...
Django включает приложение
users
в общий проект.
Включение URL-адресов из users
Затем необходимо изменить корневой файл
urls .py
, чтобы он включал URL-адреса,
написанные для приложения
users
:
urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('users/', include('users.urls')),
path('', include('learning_logs.urls')),
]
Добавим строку для включения файла
urls .py
из
users
. Эта строка будет соответ-
ствовать любому URL-адресу, начинающемуся со слова
users
, например
http://
localhost:8000/users/login/
.
Создание учетных записей пользователей
437
Страница входа
Начнем с реализации страницы входа. Мы воспользуемся стандартным представле-
нием
login
, которое предоставляет Django, так что шаблон URL выглядит немного
иначе. Создайте новый файл
urls .py
в каталоге
learning_log/users/
и добавьте в него
следующий код:
urls.py
"""Определяет схемы URL для пользователей"""
from django.urls import path, include
❶
app_name = 'users'
urlpatterns = [
# Включить URL авторизации по умолчанию.
❷
path('', include('django.contrib.auth.urls')),
]
Сначала импортируется функция
path
, а затем функция
include
для включения ау-
тентификационных URL-адресов по умолчанию, определенных Django. Эти URL-
адреса по умолчанию включают именованные схемы, такие как
'login'
и
'logout'
.
Переменной
app_name
присваивается значение
'users'
, чтобы инфраструктура
Django могла отличить эти URL-адреса от URL-адресов, принадлежащих другим
приложениям
. Даже URL-адреса по умолчанию, предоставляемые Djano, при
включении в файл
urls .py
приложения
users
будут доступны через пространство
имен
users
.
Схема страницы входа соответствует URL
http://localhost:8000/users/login/
. Когда
Django читает этот URL-адрес, слово
users
указывает, что следует обратиться
к
users/urls .py
, а
login
сообщает о том, что запросы должны отправляться пред-
ставлению
login
по умолчанию.
Шаблон login
Когда пользователь запрашивает страницу входа, Django использует свое пред-
ставление
login
по умолчанию, но мы все равно должны предоставить шаблон для
этой страницы. Аутентификационные представления по умолчанию ищут шаблоны
в каталоге с именем
registration
, поэтому вы должны создать этот каталог. В каталоге
learning_log/users/
создайте каталог с именем
templates
, а внутри него — еще один
каталог с именем
registration
. Вот как выглядит шаблон
login .html
, который должен
находиться в
learning_log/users/templates/registration/
:
login.html
{% extends "learning_logs/base.html" %}
{% block content %}
❶
{% if form.errors %}
438
Достарыңызбен бөлісу: |