Flask
2021-03-11 16:48:18 2 举报
AI智能生成
Flask最全思维导图
作者其他创作
大纲/内容
Flask
路由
route() 装饰器把函数绑定到 URL
变量规则
@app.route('/user/<username>')
@app.route('/post/<int:post_id>')
@app.route('/path/<path:subpath>')
URL 构建
url_for()
HTTP 方法
methods
静态文件
包或模块旁边创建一个名为 static 的文件夹,静态文件位于应用的 /static 中
蓝图和视图
注册蓝图
from flask import Flaskfrom yourapplication.simple_page import simple_pageapp = Flask(__name__)app.register_blueprint(simple_page)
蓝图资源文件夹
Blueprint
模板
创建 URL
url_for('admin.index')
错误处理器
errorhandler 装饰器
@simple_page.errorhandler(404)def page_not_found(e): return render_template('pages/404.html')
Jinja模板
标准环境
config
当前配置对象( flask.config )
request
当前请求对象( flask.request )。 在没有活动请求环境情况下渲染模板时,这个变量不可用。
session
当前会话对象( flask.session )。 在没有活动请求环境情况下渲染模板时,这个变量不可用。
g
请求绑定的全局变量( flask.g )。 在没有活动请求环境情况下渲染模板时,这个变量不可用。
url_for()
flask.url_for() 函数。
get_flashed_messages()
flask.get_flashed_messages() 函数.
继承
{%extends%}和{%block%}
创建宏
抽象,不要重复劳动。<br>with context.
标准过滤器
tojson()
把对象转换为 JSON 格式 {{ user.username|tojson }}
控制自动转义
{% autoescape %}
{% autoescape false %} <p>autoescaping is disabled here{% endautoescape %}
注册过滤器
放入应用的 jinja_env 中
使用 template_filter() 装饰器
缓存
Cookies
读取 cookies
username = request.cookies.get('username')
储存 cookies
虚拟环境
virtualenv
virtualenvwarpper
配置
配置入门
config 实质上是一个字典的子类
app = Flask(__name__)app.config['TESTING'] = True
一次更新多个配置值可以使用 dict.update() 方法:
内置配置变量
ENV
应用运行于什么环境
DEBUG
是否开启调试模式
TESTING
开启测试模式
PROPAGATE_EXCEPTIONS
异常会重新引发而不是被应用的错误处理器处理
文件上传
HTML 表单设置
enctype=\"multipart/form-data\"
后端保存
请求响应
请求
响应
jsonify()
return jsonify([user.to_json() for user in users])
Flask 扩展
SQLAlchemy
官网
database.py 模块
部署
pre style=\
安装
$ pip install greenlet # 使用异步必须安装$ pip install eventlet # 使用eventlet workers$ pip install gevent # 使用gevent workers
在shell中输入你的启动配置,比如:
$ gunicorn -w 3 -b 127.0.0.1:8080 app:app# 此处app:app中,第一个app为flask项目实例所在的包,第二个app为生成的flask项目实例
结束gunicorn服务进程
使用ps -ef | grep gunicorn命令找出gunicorn所有进程
使用 kill -9 进程ID 命令来杀掉进程
0 条评论
回复 删除
下一页