2012-11-28 40 views
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默認行爲,因爲這是一個有效的路由。我如何用我的動態路線提供這些文件?

回答

2

那麼,你的生根很一般,基本上它抓住一切(不是一切,但你知道,它所有的字符串和URL的結構相匹配),並與規則的至少一個相匹配。所以,如果你想保留您的規則提供靜態文件,只要有這樣的事情@app.route('/static/css/')這個規則應該成爲這將提供靜態文件的視圖。

但總的來說,我不認爲這是在一般去好辦法。我想說看看到blueprints,並與那些幫助模塊化應用。然後你可以定義每個藍圖的URL開頭,這樣你就可以分開模塊和路線。這種一般方法在將來可能會導致越來越多的問題。但它是你的選擇,雖然;)

+1

這正是我所需要的。感謝Ignas。我和Blueprint合作。 –

+0

很高興它工作:) –