Файл cookie хранится на компьютере клиента в виде текстового файла. Его цель — запоминать и отслеживать данные, относящиеся к использованию клиента, для лучшего восприятия посетителей и статистики сайта.
Объект Request содержит атрибут cookie. Это объект словаря всех переменных cookie и их соответствующих значений, переданных клиентом. В дополнение к этому, cookie также хранит время истечения, путь и доменное имя сайта.
В Flask файлы cookie устанавливаются на объекте ответа. Используйте функцию make_response (), чтобы получить объект ответа из возвращаемого значения функции представления. После этого используйте функцию set_cookie () объекта ответа, чтобы сохранить куки.
Чтение файлов cookie очень просто. Метод get () атрибута request.cookies используется для чтения файла cookie.
В следующем приложении Flask при посещении URL / появляется простая форма.
@app.route('/') def index(): return render_template('index.html')
Эта HTML-страница содержит один текстовый ввод.
<html> <body> <form action = "/setcookie" method = "POST"> <p><h3>Enter userID</h3></p> <p><input type = 'text' name = 'nm'/></p> <p><input type = 'submit' value = 'Login'/></p> </form> </body> </html>
Форма публикуется на URL / setcookie . Связанная функция просмотра устанавливает имя пользователя Cookie и отображает другую страницу.
@app.route('/setcookie', methods = ['POST', 'GET']) def setcookie(): if request.method == 'POST': user = request.form['nm'] resp = make_response(render_template('readcookie.html')) resp.set_cookie('userID', user) return resp
«readcookie.html» содержит гиперссылку на другую функцию представления getcookie () , которая читает данные и отображает значение cookie в браузере.
@app.route('/getcookie') def getcookie(): name = request.cookies.get('userID') return '<h1>welcome '+name+'</h1>'
Запустите приложение и посетите http: // localhost: 5000 /
Результат установки cookie отображается так:
Результат считывания обратно cookie показан ниже.