如何设置选择菜单以对上下文列表进行排序

时间:2019-05-03 23:12:19

标签: html django django-templates

我正在尝试建立一个表单来订购我从视图功能接收的产品列表,然后再次将其显示在模板上。我该如何实现这一目标? (最好是不重新加载页面)?

总体而言,我对Django和Web应用程序开发还很陌生,因此很想知道我在这里有什么可能性。

我尝试阅读一些内容,找到了一些关键字,例如AJAX和GET / POST请求,但无法理解它们或如何在当前框架中实现它们。

这是我的模板:

        <select>
            <option value="">Sort by</option>
            <option value="1">Price - ASC</option>
            <option value="2">Price - DESC</option>
            <option value="3">Title - ASC</option>
            <option value="4">Title - DESC</option>
        </select>
        {% for product in all_products %} 
        {% if forloop.first %}<div>{% endif %}
        {% endfor %}

views.py:

def home_view(request, *args, **kwargs):
   context = {
    'all_products':Product.objects.all()
    }
return render(request,"home.html",context)

现在,我希望功能可以从模板上的表单中选择一个选项,并且相应地对产品数据进行排序。 如果你们至少可以指导我以正确的方式学习实现这种结果的技术,或者您有更好的方法可以在模板上获得某种动态排序功能,那么这将是非常有用的QuerySet。

非常感谢;

0 个答案:

没有答案