作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在应用程序初始化时,我从数据库中动态加载 URL,并使用 app.add_url()
添加它们。由于行为类似于 CMS,我的用户可以删除或更改某些页面的 url,因此我有时需要删除映射或重新加载所有 url 映射。
有谁知道这样做的方法吗?
谢谢
最佳答案
Flask(依赖于 Werkzeug)旨在让用户轻松添加而不是删除路由。但是你可以尝试自己删除路由;每条路线都添加到 Flask.add_url_rule()
method 中的 url_map
.从 Map._rules
和 Map._rules_by_endpoint
中删除路由(参见 Map.add()
方法)并调用 Map.update()
可能就足够了使用 _remap
。
但这在一般情况下是行不通的,例如当创建一个路由委托(delegate)给一个单独的 dict
中的 View 函数时:
_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)
关于python - 使用 add_url() 添加的 Flask 删除路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24129217/
在应用程序初始化时,我从数据库中动态加载 URL,并使用 app.add_url() 添加它们。由于行为类似于 CMS,我的用户可以删除或更改某些页面的 url,因此我有时需要删除映射或重新加载所有
我是一名优秀的程序员,十分优秀!