Django-使用Javascript onclick侦听器更改Dictsort?

Django-使用Javascript onclick侦听器更改Dictsort?,javascript,django,sorting,onclick,Javascript,Django,Sorting,Onclick,是否可以使用Javascript更改什么是排序 这是我的分拣代码: {% for product in products|dictsortreversed:'price' %} ....stuff happening here {% endfor %} 我想要的是,当用户单击排序选项时,dictsortreversed:'price'将变成dictsort:'price' 这可能吗?或者我应该尝试找到一种不同的方法来实现这一点吗?这不可能以直接的方式实现,因为dictsort和dict

是否可以使用Javascript更改什么是排序

这是我的分拣代码:

{% for product in products|dictsortreversed:'price' %}
    ....stuff happening here
{% endfor %}
我想要的是,当用户单击排序选项时,
dictsortreversed:'price'
将变成
dictsort:'price'


这可能吗?或者我应该尝试找到一种不同的方法来实现这一点吗?

这不可能以直接的方式实现,因为
dictsort
dictsortreversed
是Django在服务器中渲染时应用的,并且在渲染后在客户端浏览器中执行Javascript不会影响服务器内部的渲染

您可以使用的经验证的方法:

  • 当用户选择排序选项并将此排序选项作为HTTP GET参数(查询字符串参数)传递时,发出一个新的HTTP请求,并修改Django视图以根据该参数对数据进行排序(可能通过在
    查询集上调用
    order\u by

    条件排序最好在视图级别完成,而不是在模板中完成。

  • 通过Javascript使用动态排序,也许可以使用经过测试的工具,比如或类似的工具(谷歌很乐意帮助您)。 另请参见关于使用Javascript进行排序