我有一个按特定顺序列出多个项目的项目。此顺序由通过参数传递的两个变量确定:
<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>
时间是分钟数。
此处的问题是,如果用户单击排序链接然后单击时间链接,{{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
当我想要覆盖此类型的原始参数时,相同类型的多个参数。
如何解决此问题。我想保留所有不属于点击链接传递类型的参数。
答案 0 :(得分: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>