PATH
- os.path.abspath(file) 当前文件的绝对路径
- os.path.dirname(os.path.abspath(file)) 当前文件的父级的绝对路径
手动添加路径
- BASE_DIR = os.path.dirname(os.path.abspath(file))
- static_dir = os.path.join(BASE_DIR, ‘static’)
- BASE_DIR 必须是static这个文件夹的父路径
- app = Flask(name, static_folder=static_dir)
request
- args –> GET请求,获取参数
- form –> POST请求,获取参数 request.form.getlist
- files –> 上传的文件
- method –> 请求方式
- dict 返回所有的内容
- base_url
- path
- cookie
蓝图前缀
url_prefix = ‘/hello’
响应 response
服务端自己创建,返回给客户端
response = make_response(‘你是大帅逼’)
response = make_response(render_template(‘login.html’))
跳转 redirect url_for 两种方法效果一样
- return redirect(‘/url’)
- return redirect(url_for(‘bluename.function_name’)) 蓝图名和方法名
异常
- @blue.errorhandler(404)
- def get_error(except):
return …
session
- 安装
- pip install flask-session 数据库
- pip install redis 数据库
- 配置
- 密钥,对任何放在session里的资料加密 app.config[‘SECRET_KEY’] = ‘secret_key’
- 使用redis存储信息,默认访问redis,127.0.0.1:6379
(1)app.config[‘SESSION_TYPE’] = ‘redis’ - 连接任意id的redis
(1)app.config[‘SESSION_REDIS’] = redis.Redis(host=’127.0.0.1’, port=’6379’) - 初始化app Session(app)
- 启动redis-cli redis-server
- redis-cli里, 通过keys * 查看所有的存储内容
- 使用
- session[‘username’] = username 存储
- session.get(‘username’) 获取
cookie
- response.set_cookie(‘ticket’, ticket, max_age=”, expires=”) 存储
- response.delete_cookie(‘ticket’) 删除
总结要点
- 路径
- request
- methods
- session 配置,调用
- cookie set_cookie() delete_cookie()
- redirect
- response make_response()
- errorhandler