2
我從數據庫動態加載URL,並將它們與app.add_url()
相加。 由於行爲是類似於CMS,我的用戶可以刪除或更改某些頁面的URL,所以我需要有時刪除映射或重新加載所有的URL映射。在應用程序初始化時添加了add_url()的燒瓶刪除路線
有沒有人知道一種方法來做到這一點?
由於
我從數據庫動態加載URL,並將它們與app.add_url()
相加。 由於行爲是類似於CMS,我的用戶可以刪除或更改某些頁面的URL,所以我需要有時刪除映射或重新加載所有的URL映射。在應用程序初始化時添加了add_url()的燒瓶刪除路線
有沒有人知道一種方法來做到這一點?
由於
燒瓶(其依賴於Werkzeug)被設計爲允許用戶容易地添加,不刪除,路由。但是,您可以嘗試自己刪除路線;每條路線都被添加到url_map
的Flask.add_url_rule()
method中。從Map._rules
和Map._rules_by_endpoint
(參見Map.add()
方法)中刪除路線可能就足夠了,並且可以用_remap
呼叫Map.update()
。
但創建一個路由時,這將不是一般的工作,例如委託給一個視圖功能在一個單獨的dict
:
_routes = {}
@app.route('/<path:url>', marthods=['GET', 'POST'])
def route(url):
handler = _routes.get(url, None)
if handler is not None:
return handler()
abort(404)