python - 如果覆盖默认值,如何为 Flask 提供静态服务?

标签 python flask

我自己写的动态路线是这样的:

@app.route('/')
@app.route('/<controller>')
@app.route('/<controller>/<action>')
@app.route('/<controller>/<action>/<id>') # <--- this route overrides
def main(controller = None, action = None, id = None):

我标记#的地方,该路由会覆盖/static/css/filename.css的默认行为,因为这是一个有效的路由。如何通过动态路由提供这些文件?

最佳答案

嗯,你的 root 是非常笼统的,基本上它会抓取所有内容(不是所有内容,但你知道它匹配所有字符串和 URL 的结构)并与至少一个规则匹配。因此,如果您想保留提供静态文件的规则,只需使用类似 @app.route('/static/css/') 的内容,并且该规则应该为将提供静态文件的 View 提供服务。

但总的来说,我认为这不是一个好方法。我想说看看 blueprints并在这些的帮助下进行模块化应用。然后您可以定义每个蓝图开头的 URL,这样您就可以分离模块和路由。这种通用方法将来可能会导致越来越多的问题。但这是你的选择;)

关于python - 如果覆盖默认值,如何为 Flask 提供静态服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13599295/

相关文章:

python - 如何动态地将属性添加到类中?

python - openpyxl 和 stdev.p 名称错误

python - dlib 构建失败,无法导入 dlib

python - Pandas 通过 Compare-cumsum-groupby 模式跟踪连续的邻近数字

python - 我可以使用 Flask 和 Flask-restul 将 JSON 返回给 API 调用,但将 HTML 返回给浏览器吗?

python - 渲染存储在 FTP 服务器上的 Jinja 模板

Python:Windows 上的 Flask 服务器——如何通过 SSL 验证 Flask Web 服务器?

python - 根据多个条件创建列

python - 使用 Flask AppBuilder 和 SQLAlchemy 从模型方法中保存相关模型实例

python - Flask SERVER_NAME 永远不正确