【问题标题】:Django change url from http:\/\/ to http:// [duplicate]Django 将 url 从 http:\/\/ 更改为 http:// [重复]
【发布时间】:2012-01-05 17:23:18
【问题描述】:

可能重复:
How do I un-escape a backslash-escaped string in python?

我收到了来自 api 的响应,该响应的 URL 格式如下:http:\/\/domain.com\/。如何使它们成为正常的 URL?感觉有模板标签可以用。

更新:我知道我可以使用url.replace('\/', '/'),但我想知道模板中是否有我可以做的事情。我从 Instagram API 收到了一个字典,其中包含转义的斜杠。我宁愿在模板中进行此更改,而不必在视图中解析 JSON。

【问题讨论】:

    标签: python django


    【解决方案1】:

    什么,比如

    url.replace('\/', '/')
    

    编辑

    没有任何内置功能,但将其作为练习让您将其转换为自定义模板过滤器。 The docs 很不错。如果您遇到困难,请随时发布更多(具体)问题(例如,不是“我如何将其变成自定义过滤器”),我们很乐意为您提供指导

    【讨论】:

    • 是的,我只是不知道模板标签中是否有办法做到这一点,所以我不必在显示之前解析dict
    • @Brenden:最好的办法是编写一个自定义模板标签来为你做这件事。
    • 为什么从模板调用这个 API?如果可能,我会在 python 的视图中执行此操作。
    • 抱歉不清楚。正在视图中调用 API,并将响应传递给模板。如果我可以在模板中修复,我不必对响应执行 for 循环来更改 URL
    • 我构建了一个自定义模板标签。谢谢!
    【解决方案2】:

    使用 safe 过滤器作为指导,了解如何编写自己的过滤器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-10
      • 1970-01-01
      • 2016-06-07
      • 1970-01-01
      • 1970-01-01
      • 2018-01-02
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多