from flask import Flask app = Flask(__name__) @app.route('/') def index(): return '<h1>hello world</h1>' app.run()
在run()中添加配置
debug 是否调试,修改后自动重启, 可以动态调试
threaded 是否多线程
post 端口
host 主机
插件、扩展库
1.下载,安装
2.初始化配置
flask-script
from flask import Flask from flask_script import Manager app = Flask(__name__) manager = Manager(app=app) @app.route('/') def index(): a = 10 b = 0 c = a/10 return '<h1>hello world</h1>' if __name__=='__main__': # app.run(debug=True, port=8000, host='0.0.0.0') manager.run()
直接运行没有效果,需要输入参数
(venv) D:\python3\_Flask>python hello.py runserver * Serving Flask app "hello" (lazy loading) * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
多个各种参数
(venv) D:\python3\_Flask>python hello.py runserver -d -r -h 0.0.0.0 -p 8000 * Serving Flask app "hello" (lazy loading) * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. * Debug mode: on * Restarting with stat * Debugger is active! * Debugger PIN: 184-573-979 * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
Flask路由参数
@app.route('/params/<ni>/') def params(ni): return '获取参数' + ni @app.route('/get/<string:name>/') def get_name(name): return '获取name' + name @app.route('/get_age/<int:age>/') def get_age(age): return age #会将斜线认为是字符 @app.route('/get_path/<path:Path>/') def get_path(Path): return Path @app.route('/get_uuid/<uuid:id>/') def get_uuid(id): return id.uuid64() #从列出的元组中的任意一个 @app.route('/get_any/<any(c, d, e):any>/') def get_any(any): return any
请求方法
@app.route('/get_any/<any(c, d, e):any>/', methods = ['GET', 'POST']) def get_any(any): return any
反向解析
@app.route('/url') def url(): print(url_for('get_any', any='c')) return '反向解析'