简述:
session与cookies不一样,session存储在服务器端,一般是进程内,也可通过第三方进行存储。
session的生命周期为用户登陆到用户退出之间
使用session需要用到加密标识(secret_key),用于防篡改。
app.secret_key = "you_key_!@#$"
session['username'] = username#设置一个username的session
session.pop('username',None)
设计:一个简单的登陆程序
1、用户登陆
1
2
3
4
5
6
7
8
9
10
11
12
|
@app
.route(
'/login'
,methods
=
[
'POST'
,
'GET'
])
def
login():
if
request.method
=
=
'POST'
:
username
=
request.form[
'username'
]
#此次应该进行详细的认证后再存session
session[
'username'
]
=
username
return
redirect(url_for(
'/index'
))
return
'''
<form action='/login' method='POST'>
<input name='username' />
<input type='submit' value='submit' />
</form>
'''
|
2、首页
1
2
3
4
5
6
7
|
@app
.route(
'/index'
)
def
index():
if
'username'
in
session:
username
=
session[
'username'
]
return
'welcome {0}'
.
format
(username)
else
:
return
'please you login'
|
3、注销
1
2
3
4
|
@app
.route(
'/logout'
)
def
logout():
session.pop(
'username'
,
None
)
#字典的方法相似
return
redirect(url_for(
'/index'
))
|
本文转自 煮酒品茶 51CTO博客,原文链接:http://blog.51cto.com/cwtea/1834436,如需转载请自行联系原作者