at app init i'm dynamically loading URL's from the DB, adding them with app.add_url()
.
As the behavior is CMS like, my user can delete or change the url for some pages so i need to sometimes delete a mapping or reload all url mappings.
Does anyone know a way to do this?
Thanks
Flask (which relies on Werkzeug) is designed to allow the user to easily add, not delete, routes. However you can try to delete routes yourself; each route is added to url_map
in the Flask.add_url_rule()
method. It is probably enough to remove the route from Map._rules
and Map._rules_by_endpoint
(see the Map.add()
method) and call Map.update()
with _remap
.
But this will not work in general, for example when creating a route that delegates to a view function in a separate 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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With