Django如何将部分html呈现为ajax响应

2024-07-05 14:02:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我陷入了这个问题。我有一个页面,用户可以搜索并转到搜索结果页面。现在我希望用户能够根据一些标准对结果进行排序,我使用ajax进行排序,因为我不希望页面再次加载

我的ajax:

function sort(){
 var sortid = $('#sort').val().toLowerCase();
 $.ajax({
    type:"GET",
    url: "/sort/",
    data: {sortid:sortid}
 });
}

这是我的观点:

def sort(request):
  sortid = request.GET.get('sortid')
  ratings = Bewertung.objects.order_by(sortid)
  locations = Location.objects.filter(locations_bewertung__in=ratings)
  t = loader.get_template('result-page.html')
  c = Context({ 'locs': locations })
  return HttpResponse(t.render(c))

但现在,一旦我对结果进行排序,页面上就没有任何变化。为什么加载的模板没有呈现新的queryset?我想,如果没有ajax的done函数,页面将被替换。

有人能解释一下为什么会这样吗?

非常感谢


Tags: 用户标准getobjects排序requestvarajax