本文概述
- Flask中的登录应用程序
- 执行
Cookie是由客户端计算机上的服务器设置的, 它将在以后的所有事务中与客户端对特定服务器的请求相关联, 直到cookie的生存期到期或被服务器上的特定网页删除。
在flask中, cookie与Request对象相关联, 作为所有cookie变量及其客户端发送的值的字典对象。 Flask使我们可以指定网站的到期时间, 路径和域名。
response.setCookie(<
title>
, <
content>
, <
expiry time>
)
在Flask中, 通过在响应对象上使用set_cookie()方法在响应对象上设置cookie。可以通过在视图函数中使用make_response()方法来形成响应对象。
另外, 我们可以使用与Request对象关联的cookie属性的get()方法读取存储在客户端计算机上的cookie。
request.cookies.get(<
title>
)
下面是设置标题为” foo” 和内容为” bar” 的cookie的简单示例。
例子
from flask import *app = Flask(__name__)@app.route('/cookie')def cookie(): res = make_response("<
h1>
cookie is set<
/h1>
") res.set_cookie('foo', 'bar') return resif __name__ == '__main__': app.run(debug = True)
上面的python脚本可用于在网站localhost:5000的浏览器上设置名称为’ foo’ 和内容为’ bar’ 的cookie。
使用命令python script.py运行此python脚本, 然后在浏览器上检查结果。
文章图片
我们可以在浏览器的内容设置中跟踪cookie的详细信息, 如下图所示。
文章图片
Flask中的登录应用程序 在这里, 我们将在Python Flask中创建一个登录应用程序, 其中向用户显示一个登录页面(login.html), 提示你输入电子邮件和密码。如果密码是” jtp” , 则应用程序会将用户重定向到成功页面(success.html), 在该页面上将提供消息和指向配置文件的链接(profile.html), 否则它将用户重定向到错误页面。 。
控制器python flask脚本(login.py)控制应用程序的行为。它包含针对各种情况的视图功能。用户的电子邮件以cookie的形式存储在浏览器中。如果用户输入的密码是” jtp” , 则应用程序将用户的电子邮件ID作为cookie存储在浏览器中, 然后在配置文件页面中读取该cookie以向用户显示一些消息。
该应用程序包含以下python和HTML脚本。该应用程序的目录结构如下。
文章图片
login.py
from flask import *app = Flask(__name__)@app.route('/error')def error(): return "<
p>
<
strong>
Enter correct password<
/strong>
<
/p>
"@app.route('/')def login(): return render_template("login.html")@app.route('/success', methods = ['POST'])def success(): if request.method == "POST":email = request.form['email']password = request.form['pass'] if password=="jtp":resp = make_response(render_template('success.html'))resp.set_cookie('email', email)return resp else:return redirect(url_for('error'))@app.route('/viewprofile')def profile(): email = request.cookies.get('email') resp = make_response(render_template('profile.html', name = email)) return respif __name__ == "__main__": app.run(debug = True)
login.html
<
html>
<
head>
<
title>
login<
/title>
<
/head>
<
body>
<
form method = "post" action = "http://localhost:5000/success">
<
table>
<
tr>
<
td>
Email<
/td>
<
td>
<
input type = 'email' name = 'email'>
<
/td>
<
/tr>
<
tr>
<
td>
Password<
/td>
<
td>
<
input type = 'password' name = 'pass'>
<
/td>
<
/tr>
<
tr>
<
td>
<
input type = "submit" value = "http://www.srcmini.com/Submit">
<
/td>
<
/tr>
<
/table>
<
/form>
<
/body>
<
/html>
success.html
<
html>
<
head>
<
title>
success<
/title>
<
/head>
<
body>
<
h2>
Login successful<
/h2>
<
a href="http://www.srcmini.com/viewprofile">
View Profile<
/a>
<
/body>
<
/html>
profile.html
<
html>
<
head>
<
title>
profile<
/title>
<
/head>
<
body>
<
h3>
Hi, {{name}}<
/h3>
<
/body>
<
/html>
执行 使用命令python login.py运行python脚本, 并按照以下快照中的说明在浏览器上访问localhost:5000 /。
文章图片
单击提交。它将显示成功消息, 并提供指向profile.html的链接。
文章图片
【Python Flask如何使用和处理cookie()】点击查看个人资料。它将从浏览器中读取cookie集作为响应, 并显示以下消息。
文章图片
推荐阅读
- Flask HTTP方法用法示例
- Python Flask如何实现文件上传()
- Flask应用程序路由
- 第一个Python Flask应用示例
- Pure.CSS教程
- Pure.CSS带有水平边框的表格
- android dialog设置全屏半透明背景色
- appendappendToprependprependTobeforeinsertBeforeafterinsertAfterreplaceAll方法被调用后,原本在页面上显示的元素
- IDEA在Maven webapp项目中打jar包