1
我正在使用Django模板,在特定的模板中,我加载了两个div,内容执行两个AJAX请求以使事情变得更快。Django:AJAX请求后加载模板
我说的主要模板包括一个视图在结尾,实际上主要是JS。事情是这个JS依赖于在这些AJAX请求中加载的数据,所以在必要的数据在HTML中之前,模板将呈现脚本。
快速方案:
{# main template #}
{% block content %}
<div id="main">...</div>
<div id="load-data-1"></div>
<div id="load-data-2"></div>
{% endblock %}
{% block js }%
{% include 'template_with_scripts.html' %}
{% endblock %}
template_with_scripts.html
<script>
$.get(url1, function(data) { $('#load-data-1').html(data); });
$.get(url2, function(data) { $('#load-data-2').html(data); });
</script>
{% include 'scripts_related_with_ajax_loaded_data.html' %}
所以我需要做的是加载脚本后的AJAX请求完成后,如this answer解释。
但我的问题是如何在AJAX调用完成后加载scripts_related_with_ajax_loaded_data.html
文件。我应该创建一个新的路线和视图来将呈现的上下文作为HTML返回吗?看起来很奇怪,有点矫枉过正。有没有一个标记只是呈现你传递的任何模板,所以我可以将它附加到HTML?