Flask数据库的连接以及session的使用

Flask与MySQL的连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import MySQL
from flask import Flask
from flask import render_template
from flask import flash
from flask import session
import os
#第一步连接数据库
con=MySQL.connect('localhost','root','','demo',charset='utf8')
#这里面的函数参数表示1.数据库的位置,2.用户名 3.密码 4.数据库名 5.解决中文乱码问题
#创建一个游标
cur=con.cursor()
#添加数据
def adduser(username,password):
sql="insert into admin(username,password) values (%s,%s)"%(username,password)
#发送sql语句
cur.execute(sql)
con.commit() #提交
con.close()
#查看信息是否存在
def isExisted(username,password):
sql="select * from admin where username='%s' and password='%s'"%(username,password)
cur.execute(sql)
results=cur.fetchall() #将得到的数据进行保存在results中
if len(results)==0:
return False
else:
return True

session的使用(创建于销毁)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from flask import Flask,session
import os
from datetime import timedelta
app=Flask(__name__)
app.config['SECRET_KEY']=os.urandom(24) #进行session数据的加密
3app.config['PERMANENT_SESSION_LIFETIME']=timedelta(days=7)
#这里是将session的保质期变为7天
#添加数据到session中
#操作session的时候,跟操作字典是一样的
@app.route('/user')
def hello_world():
session['username']='nuocheng'
#如果没有设置session过期时间,那么关闭浏览器后就会自动结束
#如果设置permanent过期时间为true那么一个月后就会自动过期(记住我勾选的内容)
session.permanent=True
return 'hello world'
@app.route('/get')
def get():
#session['username']
#这种方式提取username:如果username不存在就会抛出异常
#session.get('username')
#这种方式提取username的话,如果username不存在就会返回none
return session.get('username')
#删除session
@app.route('/delete')
def delete():
print(session.get('username'))
session.clear()#删除session中的所有数据
print(session.get('username'))
return 'success'
if __name__=="__main__":
app.run(port=80801,debug=True)
Fork me on GitHub