【问题标题】:Add url parameters to a url in django view将 url 参数添加到 django 视图中的 url
【发布时间】:2016-06-22 20:32:04
【问题描述】:

我有一个 django 视图,其中列出了外部网站上的多个 url。

当我渲染它们时,我想为每个添加一些 url 参数。

这些 url 指向外部系统,因此未在我的 urls.py 中列出。此外,一些链接有一个哈希“#”,所以它并不像在字符串末尾附加一些参数那么容易。

基于这些要求,似乎 url 模板标签不太适合。我想知道是否有一个自定义过滤器可以做到这一点。

【问题讨论】:

  • 为什么需要 url 标签?如果你能创建一个minimal reproducible example 会有所帮助
  • 不太清楚你在问什么。 url 模板标签用于生成您自己的站点/项目中的 URL。如果您想添加指向外部站点的链接,那么为什么不将它们放在 HTML、URL 参数和所有内容中呢?
  • 这对我来说似乎很奇怪,为什么您需要第三方应用程序来解决这个问题。似乎输入?foo=bar&pop=lol 的击键次数比pip install + add_query="foo=bar" 等要少得多。
  • @marcusshep 这并不完全正确。 url 片段(#)呢?参数需要在它之前。如果已经有 url 参数怎么办?您不需要添加“?”。我同意这不是很多代码,但这里肯定有边缘情况。

标签: django filter


【解决方案1】:

这里不需要 Django 的 url 标签。 url 标签用于解析属于你的应用程序的URL。

但是,有一个不错的 django-spurl 库。它允许您通过模板标签处理查询参数。

来自documentation添加查询参数的例子:

{% spurl base="http://example.com/?foo=bar" add_query="bar=baz" %}

<!--
will result in: http://example.com?foo=bar&bar=baz 
-->

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-10
    • 2021-10-06
    • 1970-01-01
    • 2010-10-26
    • 2015-04-24
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多