【发布时间】:2018-02-16 13:44:15
【问题描述】:
我对使用 Ajax 还很陌生,但是我已经使用 Django 有一段时间了。
我想知道如何动态提交一个表单——无需刷新页面——将这个新的“参数”附加到 URL 并返回一些更新的数据。例如,如果我更改名为最高价格的值并单击“应用”,那么这会将“&max_price=some_new_value”添加到 URL 并返回带有最高价格过滤器的 Django 查询集。
我已经可以这样开始了……
$('.filter-ul-opt-change-apply').click(function(){
$.get(...{
...
})
})
虽然jQuery documentation 指定像ajax/test.html 这样的URL 作为参数传递给get() 方法,但我不确定这将如何与Django 视图一起使用以检索对象。
views.py:
def generic_view(request):
objs = Objects.objects.filter(...parameters from updated url go here...)
return render(request, 'generic-view.html', {'objs':objs})
任何关于为此目的使用 Django 和 Ajax 的想法都会非常有用!
谢谢!
【问题讨论】:
-
它需要在 URL 上作为 get 吗?不能是帖子吗?
-
为什么它需要在 URL 中?
-
@DanielRoseman 这样您就可以将该 URL 链接到其他人,当他们访问该链接时,他们将看到已应用过滤器的对象列表