Книга «Изучаем Python»



Pdf көрінісі
бет230/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   226   227   228   229   230   231   232   233   ...   238
Байланысты:
2 5343781172763690906

login.html

{% extends "learning_logs/base.html" %}

{% block content %}

    {% if form.errors %}



 
Your username and password didn't match. Please try again.

  {% endif %}

    



 



  {% csrf_token %}

  {{ form.as_p }}



    

 



 

 

    


{% endblock content %}

Шаблон расширяет 

base .html

, чтобы страница входа по оформлению и поведению 

была похожа на другие страницы сайта. Обратите внимание: шаблон в одном при-

ложении может расширять шаблон из другого приложения.




422    Глава 19  •  Учетные записи пользователей

Если у формы установлен атрибут 

errors

, выводится сообщение об ошибке . 



В нем говорится, что комбинация имени пользователя и пароля не соответствует 

информации, хранящейся в базе данных.

Мы хотим, чтобы представление обработало форму, поэтому аргументу 

action


 

присваивается URL страницы входа . Представление отправляет форму шаблону, 

мы должны вывести форму  и добавить кнопку отправки данных . В точке  

включается скрытый элемент формы 

'next'

; аргумент 



value

 сообщает Django, куда 

перенаправить пользователя после успешно выполненного входа. В нашем случае 

пользователь возвращается обратно на домашнюю страницу.

Создание ссылки на страницу входа

Добавим ссылку на страницу входа в 

base .html

, чтобы она присутствовала на каждой 

странице. Ссылка не должна отображаться, если пользователь уже прошел про-

цедуру входа, поэтому она вкладывается в тег 

{%

 

if



 

%}

:



base.html
Learning Log -

  Topics - 

  {% if user.is_authenticated %}



    Hello, {{ user.username }}.

  {% else %}

    log in



  {% endif %}
{% block content %}{% endblock content %}

В системе аутентификации Django в каждом шаблоне доступна переменная 

user

, в которой всегда присутствует атрибут 



is_authenticated

: атрибут равен 

True

, если пользователь прошел проверку, и 



False

 в противном случае. Это по-

зволяет вам выводить разные сообщения для проверенных и непроверенных 

пользователей.

В данном случае мы выводим приветствие для пользователей, выполнивших вход. 

У проверенных пользователей устанавливается дополнительный атрибут 

username

который обеспечит личную настройку приветствия и напомнит пользователю 



о том, что вход был выполнен. В точке  выводится ссылка на страницу входа для 

пользователей, которые еще не прошли проверку.

Использование страницы входа

Учетная запись пользователя уже создана; попробуем ввести данные и посмотрим, 

работает ли страница. Откройте страницу http://localhost:8000/admin/. Если вы 

все еще работаете с правами администратора, найдите ссылку выхода в заголовке 

и щелкните на ней.

После выхода перейдите по адресу http://localhost:8000/users/login/. На экране 

должна появиться страница входа, похожая на рис. 19.4. Введите имя пользователя 

и пароль, заданные ранее, и вы снова должны оказаться на странице со списком.




Создание учетных записей пользователей    423



Достарыңызбен бөлісу:
1   ...   226   227   228   229   230   231   232   233   ...   238




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

    Басты бет