Gunicorn Flask中使用项目名或给URL加固定前缀

Flask中URL地址匹配是通过装饰器完成:

@app.route('/')


现在需要给所有URL加上项目名称或前缀:

@app.route('/project')

# or

@app.route('/prefix/abc')


将项目名称或前缀放在app全局变量中,每个URL都拼接当然可以,但有更方便的方式:

SCRIPT_NAME="/xs" gunicorn -w 1 -b 127.0.0.1:8080 app:app


SCRIPT_NAME是gunicorn支持的环境变量,将Flask项目部署在gunicorn容器中,所有访问的URL地址都会带上SCRIPT_NAME


注意:项目的地址不要出现绝对地址,否则加上SCRIPT_NAME会导致一个错误的地址

 

展开阅读全文