使用 add_url() 添加的 Flask 删除路由

Pet*_*eka 5 python flask

在应用程序初始化时,我从数据库动态加载 URL,将它们添加到app.add_url(). 由于行为类似于 CMS,我的用户可以删除或更改某些页面的 url,因此我有时需要删除映射或重新加载所有 url 映射。

有谁知道这样做的方法?

谢谢

tbi*_*icr 3

Flask(依赖于Werkzeug)旨在允许用户轻松添加而不是删除路由。不过你可以尝试自己删除路由;每条路线都添加到方法url_map中。从 和中删除路由(参见方法)并用调用可能就足够了。Flask.add_url_rule()Map._rulesMap._rules_by_endpointMap.add()Map.update()_remap

但这通常不起作用,例如在创建委托给单独的视图函数的路由时dict

    _routes = {}

    @app.route('/<path:url>', methods=['GET', 'POST'])
    def route(url):
        handler = _routes.get(url, None)
        if handler is not None:
            return handler()
        abort(404)
Run Code Online (Sandbox Code Playgroud)