python - Flask的url_for不引用斜杠

标签 python flask jinja2

我正在尝试 Flash 和 Jinja2,看看是否可以将它们用于我的下一个项目。

但是,我被困在这里:
我有一条产品路线( @app.route('/product/<prod>/') ),但是当我在另一个 Jinja2 模板中使用此表达式 {{ url_for('product', prod='abc/def') }} 时它构建了这个 URL:/product/abc/def/而不是/product/abc%2Fdef/ ...

如何告诉 Flask 也对 / 进行编码构建 URL 时?

顺便说一句,使用replace过滤器不起作用,因为它还会替换所有其他斜杠。

谢谢

最佳答案

您只需更改 URL 路由以包含路径,如下所示:

@app.route('/product/<path:prod>/')

这将根据需要转义 /。请参阅documentation了解更多信息。

关于python - Flask的url_for不引用斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34921345/

相关文章:

Python - 获取目录中所有文件和子文件夹的相对路径

python - 通过另一个 couchdb 文档中的 id 从一个 couchdb 文档中提取数据 (Python)

javascript - Flask 和 Ajax 发布 HTTP 400 错误请求错误

python - Jinja 使用 for 列出嵌套 JSON

python - 使用 REST 的 Google 日历 API - 每个身份验证只有一个请求?

python - 如何在没有 JQuery 的情况下使 HTML 表格行可点击?

python - 如何使用带有多个参数的 Flask Jinja2 url_for

python - 在 pandas 数据框中以字符串格式对日期进行排序?

python - Pandas 保持最新行更新

python - 删除 jinja 中的重复列表