1

我编写了自己的动态路线,如下所示:

@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因为这是一个有效的路由。如何使用我的动态路由提供这些文件?

4

1 回答 1

2

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

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

于 2012-11-28T07:56:54.750 回答