【发布时间】:2016-06-16 07:15:59
【问题描述】:
所以,我有索引模板,其中有一个表,它使用 Django 模板语言创建一个表(使用 for)。
如何使用 AJAX 将同一个表(即使使用 Django 模板代码)传递给索引模板?我已经添加了 AJAX 部分并且它可以工作,但是没有解释 DJango 代码并且没有构建表格。
基本上,我想:
- 在“模板”中分离各个 DOM 组件,以便通过 AJAX 我根据需要推送到主(索引)模板。请记住,这些“模板”应该包含像
{% for item in data %}这样的 Django 代码。
例如:
从外观上看:
def getDetails(request):
var = "{% if 10 > 5 %}<h1>TRUE</h1>{% endif %}"
return HttpResponse(
json.dumps(var),
content_type="application/json"
)
index.html:
function getDetails() {
$.ajax({
url : "getDetails/",
type : "POST",
data : { getDetails : $('#postValue').val() },
success : function(json) {
$('#postValue').val('');
$("#tableDetails").html(json)
<div id="tableDetails"></div>
浏览器显示的内容:
{% if 10 > 5 %}
TRUE
{% endif %}
【问题讨论】:
-
您需要提供更多细节。为什么不能在响应 Ajax 调用的视图中渲染模板片段?你为什么不想在那里传递任何上下文?
-
我可以传递包含 HTML 表格的上下文。问题是,当索引模板接收到表时,我使用模板语言创建表(因为它非常简单),它会呈现所有内容,包括 {% for items in collection %} 例如。所以服务器没有解释 Python 代码。
-
但这并没有回答我的问题:为什么不能在 Ajax 视图中呈现模板,就像在任何其他视图中一样?也许您应该显示该视图的完整代码。
-
我确实做到了。我可以做到,但它确实包含 {{ }} 标签。
-
我编辑了帖子以获取更多详细信息。
标签: python ajax django templates