М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет320/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   316   317   318   319   320   321   322   323   ...   334
Байланысты:
Изучаем Python

Рис. 19.4.
Страница входа
Выход
Теперь необходимо предоставить пользователям возможность выхода из прило-
жения. Мы включим в 
base .html
ссылку для выхода пользователя; при щелчке на 
этой ссылке открывается страница, подтверждающая, что выход был выполнен 
успешно.


440
Глава 19 • Учетные записи пользователей
Добавление ссылки для выхода
Теперь нужно создать ссылку для выхода. Мы добавим ее в файл 
base .html
, что-
бы она была доступна на каждой странице, и включим в секцию 
{%
if
user.is_
authenticated
%}
, чтобы ссылка была видна только пользователям, уже выпол-
нившим вход:
base.html
...
{% if user.is_authenticated %}
Hello, {{ user.username }}.
log out
{% else %}
...
По умолчанию схеме URL для выхода назначается имя 
'logout'
.
Страница подтверждения выхода
Пользователь должен знать, что выход прошел успешно, поэтому представление по 
умолчанию для выхода строит страницу на базе шаблона 
logged_out .html
, который 
мы сейчас создадим. Он представляет простую страницу с уведомлением о том, что 
пользователь вышел из сеанса работы с приложением. Сохраните файл в каталоге 
templates/registration
— в том же каталоге, в котором был сохранен файл 
login .html
:
logged_out.html
{% extends "learning_logs/base.html" %}
{% block content %}
You have been logged out. Thank you for visiting!
{% endblock content %}
Рис. 19.5.
Страница выхода подтверждает, что выход был выполнен успешно


Создание учетных записей пользователей
441
Ничего другого на этой странице быть не должно, потому что 
base .html
предостав-
ляет ссылки на домашнюю страницу и страницу входа на случай, если пользователь 
захочет вернуться к какой-либо из этих страниц.
На рис. 19.5 изображена страница выхода так, как ее видит пользователь, выпол-
нивший вход. Оформление страницы минимально, потому что сейчас нас в первую 
очередь интересует работа сайта. Когда необходимые функции заработают, можно 
переходить к стилевому оформлению сайта и приданию ему более профессиональ-
ного вида.
Страница регистрации
Теперь мы построим страницу для регистрации новых пользователей. Для этой 
цели мы используем класс Django 
UserCreationForm
, но напишем собственную 
функцию представления и шаблон.
URL-адрес регистрации
Следующий код предоставляет шаблон URL для страницы регистрации — также 
в файле 
users/urls .py
:
urls.py
""" Определяет схемы URL для пользователей. """
from django.urls import path, include
from . import views
app_name = 'users'
urlpatterns = [
# Включить URL авторизации по умолчанию.
path('', include('django.contrib.auth.urls')),
# Страница регистрации.
path('register/', views.register, name='register'),
]
Мы импортируем модуль 
views
из 
users
; этот модуль необходим, потому что мы 
пишем собственное представление для страницы регрессии. Шаблон соответствует 
URL 
http://localhost:8000/users/register/
и отправляет запросы функции 
register()

которую мы сейчас напишем.
Функция представления register()
Функция представления 
register()
должна вывести пустую форму регистрации 
при первом запросе страницы регистрации, а затем обработать заполненную форму 
регистрации при отправке данных. Если регистрация прошла успешно, функция 
также должна выполнить вход для нового пользователя. Включите следующий 
код в 
users/views .py
:




Достарыңызбен бөлісу:
1   ...   316   317   318   319   320   321   322   323   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет