我有一个显示模型对象的视图。使用我想要作为视图参数的键对对象进行排序,以便我可以创建一个系统,用户可以选择如何对查询集进行排序。 我目前的设置如下:
def comics(request, sorting_key):
comics = Comic.objects.all().order_by(sorting_key)
...
然而,问题是我需要在网址的某处包含排序键,我不希望这样。有没有办法解决这个问题?或者我是否坚持使用明确显示排序键的URL?
答案 0 :(得分:0)
您可以使用cookies,当用户更改排序参数并重新加载页面以对数据进行排序时,您可以在客户端浏览器上设置cookie,这将再次调用相同的视图,在您的视图中从请求中读取cookie对该参数进行排序。
当没有设置cookie或对该密钥进行排序时,请注意默认参数,因为用户可以更改或删除cookie。
答案 1 :(得分:0)
您可以使用相同的网址替换带有<a>
标记的菜单链接中的<form>
标记,并使用post发送排序键,并在视图中从request.POST
读取。