我是一个使用Ajax的新手,但是我已经使用Django有一段时间了。
我想知道我如何能动态提交一个表单,它将-不刷新页面-附加这个新的'参数'到URL,并返回一些更新的数据。例如,如果我更改了一个名为maximum price的值并点击'Apply',那么这将向URL添加'&max_price=some_new_value
',并返回一个带有maximum price过滤器的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的想法都将非常有用!
谢谢你,谢谢
3条答案
按热度按时间ukdjmx9f1#
你可以像这样使用一个字母:
在你的.py中,你应该有这样的东西:
你应该有一个观景路线:
你只需要根据你的需要使用与
HttpResponse(data)
不同的东西qc6wkl3g2#
AJAX通用请求:
在Django端,使用
request.GET
来处理参数2lpgd9683#
这是一个有点长的解释,肯定有点晚回答,但也许这将是有用的其他人在这种情况下:你应该看看HTMX,它太棒了。The doc也很不错。
但是我在这个问题上用this guy that produced very good videos学习了HTMX的所有基础。
他改变了我的生活:不再需要AJAX或其他繁重的JS代码。