Ⱦɟɤɨɪɚɬɨɪɵ ɮɭɧɤɰɢɣ
Выход из системы и проверка состояния
Наша новая задача — добавить код для обработки адресов URL /logout и /status.
Чтобы выйти из системы, можно присвоить значение False ключу logged_in
в словаре session или вообще удалить ключ logged_in из словаря session.
Мы реализуем второй вариант; почему — станет понятно, когда напишем код
для обработки URL /status.
Заточите карандаш
Напишем код для обработки URL /logout, который будет удалять
ключ logged_in из словаря session и возвращать сообщение
«You are now logged out» («Вы теперь не в системе»). Впишите
ĭŗŊʼnŋťśŎ в пропуски свой код. «ŗŋŐőĸŚŊdŐʼnŗŎŗirōŊŔŤŚŚ(ŕŗŔŔdœŎŠʼnŗiőścœŋŐtŎŗʼn)œœōř»ʼnʼn>ŤŨ œ>ŋŎŚŖŜŔ>ŚőʼnōŔŖŗʼnŊőśŋŎőŔʼnŎřőŋřŜřőŤśŨŋśʼnőťœŎōśőœśŔőŋŎŧŖŠŗŒ
ŚŋŗŒ œŗō
ōŔŨ ŋŤŞŗōʼn @app.route('/logout')
őŐ ŚőŚśŎૠdef do_logout() -> str:
return
После добавления кода обработки URL /logout обратите внимание на URL /status, код обработки
которого должен возвращать одно из двух сообщений.
Сообщение «You are currently logged in» («Вы сейчас в системе») возвращается, если ключ logged_
in существует в словаре session (и — по определению — установлен в значение True).
Сообщение «You are NOT logged in» («Вы НЕ в системе») возвращается, если в словаре session
нет ключа logged_in. Мы не можем проверить равенство logged_in значению False, потому
что код обработки URL /logout удаляет ключ из словаря session, а не изменяет его значение.
(Мы помним, что должны объяснить, почему мы сделали именно так, и мы обязательно сделаем это,
но чуть позже. Сейчас просто поверьте, что нужно все сделать именно так.)
Впишите код для URL /status в пропуски. «ĸ=ř@ŗ8ŋ8Ŏ6ř5ťÔś:Ŏ?»Ŗʼnŋ ŔŚőŔŠŗőŋŎʼnřœŎŔŧŠʼn
«session» ő ŋŎřŖőśŎ
@app.route('/status') ŚŗŗśŋŎśŚśŋŜŧŢŎŎ ŚŗŗŊŢŎŖőŎ
def check_status() -> str:
ĭŗŊʼnŋťśŎ Śŧōʼn œŗō if
ŘřŗŋŎřœő ŚŗŚśŗŨŖőŨ return
return
ɜɵ ɡɞɟɫɶ