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 '反向解析'