###了解Flask1
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
571.使用virtualenv新建环境:virtualenv --no-site-packages flaskdb7
2. 启动项目:cd /Scripts/acticate
3.安装flask: pip install flask
4.pip install flask-script: 下载flask管理项目
导入模块: from flask-script import Manager
manage = Manage(app)
if __name__ == '__main__':
manage.run()
5.安装蓝图:pip install flask-blueprint
模块化管理路由
# 1.在视图中生成蓝图对象
blueprint = Blueprint('first', __name__)
# 2. 管理路由
@blueprint.route('/')
# 3.manage中去注册蓝图
from app.views import blueprint
app.register_blueprint(blueprint=bluepprint,url_prefix='/添加前缀')
# 无参跳转:
# redirect: 跳转
# url_for: 反向解析
# ‘first.hello’: 蓝图的第一个参数,跳转到的函数名
return redirect(url_for('first.跳转的参数名'))
# 有参跳转
return redirect(url_for('first.跳转的参数名',参数=值))
生成和删除cookie
导入模块: from flask import make_response
# make_response: 创建响应
# 第一个参数:响应内容
# 第二个参数:响应状态码
res = make_response('<h2>生成cookie</h2>', 200)
# 设置cookie, max_age以秒为单位,expires以datetime为单位
#设置cookie:响应对象res.set_cookie(key, value, max_age, expires)
res.set_cookie('token', '123456', max_age=6000)
return res
# 删除cookie
# 1. delete_cookie:响应对象res.delete_cookie(key)
# 2. set_cookie:响应对象 res.set_cookie(key, value, max_age=0)
# 请求
1.接收HTTp请求方式@appp.route('/', methods=['GET','POST','PATCH', 'PUT', 'DELETE'])
2.判断当前请求方式:request.method
# 获取值:
1. # 获取GET请求中传递的参数:request.args
# 获取GET请求中全部name参数,request.args.getlist('name')
# 获取GET请求中第一个name参数,request.args.get('name')/request.args['name']
2. # 获取POST请求中传递的参数:request.form
# 获取POST请求中全部name参数,request.form.getlist('name')
# 获取POST请求中第一个name参数,request.args.get('name')/request.args['name']
# 获取路径:request.path
# 获取文件: request.files
flask的基本操作
1 |
|
###在utils中的functions的装饰器1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from flask import session, redirect, url_for
# 条件
# 外层函数嵌套内层函数
# 外层函数返回内层函数
# 内层函数调用外层函数
from functools import wraps
def login_required(func):
@wraps(func)
def inner():
if 'user_id' in session:
return func()
else:
return redirect(url_for('first.login'))
return inner
###manage.py(运行flask)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from flask import Flask
from flask_script import Manager
from app.views import blueprint
app = Flask(__name__)
# 蓝图使用第二步: 注册蓝图
app.register_blueprint(blueprint=blueprint, url_prefix='/app')
app.secret_key = '1qaz2wsx3edc4rfv5tgb6yhn7ujm8ik9ol'
manage = Manager(app)
if __name__ == '__main__':
manage.run()