1

我有一个项目按一定顺序列出了许多项目。此顺序由通过参数传递的两个变量确定:

<a class="btn btn-info" href={{ request.path }}?key={{ key }}&orientation={{ orientation }}><i class="icon-wrench icon-large"></i></a>

“key”是项目特征,“orientation”是升序或降序。python 代码处理传递回模板的项目的顺序。

我有另一个需要通过时间限制的控件:

<a href={{ request.path }}?time={{ time }}>{{ value }}</a>

其中 time 是分钟数。

这里的问题是,如果用户单击排序链接,然后单击时间链接,{{ request.path }} 将仅包含“正确路径”,而不包含已添加的附加参数。

第一次排序点击会产生类似

/list/items/?key=importance&orientation=asc

但是第二次点击会返回

/list/items/?time=30

我想返回的地方

/list/items/?key=importance&orientation=asc&time=30

现在我可以用这个代替

<a href={{ request.get_full_path }}?time={{ time }}>{{ value }}</a>

但是如果多次点击时间链接,我可能会得到这样的结果:

/list/items/?key=importance&orientation=asc&time=30&time=60&time=15

当我真的想覆盖这种类型的原始参数时,相同类型的多个参数。

我该如何解决这个问题。我想保留所有不属于单击链接传递的类型的参数。

4

1 回答 1

1

你可以使用这个片段http://djangosnippets.org/snippets/2105/。例子:

{% load add_get_parameter %}
<a href="{% add_get_paramater param1='const_value',param2=variable_in_context %}">
    Link with modified params
</a>
于 2012-08-25T22:20:12.437 回答