【发布时间】:2016-11-26 18:28:21
【问题描述】:
我正在遵循以下建议:Refresh <div> element generated by a django template
我传递了一些变量,一个啦:
url: '{% url 'search_results' 'sched_dep_local' flights|escapejs %}',
问题在于“航班”是 search_results 模板需要访问的字典列表,它非常大并且包含诸如撇号之类的内容
[{'foo': 'bar'}, {'foo': 'baz'}] and so on
所以我可以将它与 {% url %} 一起使用的唯一方法似乎是使用 escapejs 来摆脱撇号,但是在 view.py 中,我需要它再次成为一个字典列表,所以我可以执行以下操作:
def search_results(request, sort_key, flights):
flights = search_utils.sort(flights, sort_key)
return render_to_response('search_results.html', { 'flights' : flights} )
有没有简单的方法来做到这一点?或者,我对这整件事的看法都错了吗?
ETA:另请参阅(解释我想要做什么以及为什么):
<script>
$(".sort").on("click", function() {
$.ajax({
url: '{% url 'search_results' 'sched_dep_local' flights|escapejs %}',
success: function(data) {
$('#search-results').html(data);
}
});
});
</script>
我有一个模板(在 search_results.html 中),可以打印航班中每个航班的一些数据。我想对该数据进行排序并重新渲染模板,但我不知道如何。
【问题讨论】:
-
为什么需要将字典列表作为变量传递给 url?无论你想达到什么目标,我相信有更好的方法。
-
帖子已更新详细信息。你能推荐一个更好的方法吗?