【问题标题】:Encode URL in Django template在 Django 模板中编码 URL
【发布时间】:2010-11-07 08:13:56
【问题描述】:

我需要对{% url %} 模板标签创建的 URL 进行编码,以便将其作为参数传递到 iframe src 中,从而生成 Facebook Like 按钮。

这样做的合适方法是什么? urlencode 模板过滤器似乎在这里不起作用。我的模板代码如下所示:

{% url blog_urls/blog_detail slug=p.slug year=p.published_on.year month=p.published_on.month day=p.published_on.day %}

【问题讨论】:

    标签: django django-templates


    【解决方案1】:

    url 标签接受另一个参数,它允许您使用 url 的值创建一个变量:

    {% url foo bar=baz as my_url %}
    {{ my_url|filters }}}
    

    【讨论】:

    • 谢谢,不敢相信我忽略了那个!
    【解决方案2】:

    此外,您始终可以使用过滤器标签本身将过滤器应用于更复杂的标签,例如:

    {% filter urlencode %}{% url blog_urls/blog_detail slug=p.slug year=p.published_on.year month=p.published_on.month day=p.published_on.day %}{% endfilter %}
    

    https://docs.djangoproject.com/en/dev/ref/templates/builtins/#filter

    【讨论】:

      猜你喜欢
      • 2013-01-10
      • 2018-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-03
      • 2018-11-03
      • 1970-01-01
      • 2010-12-19
      相关资源
      最近更新 更多