Jquery 包含模板不会呈现变量值

Jquery 包含模板不会呈现变量值,jquery,python,ajax,django,Jquery,Python,Ajax,Django,可能重复: main.html 作为响应,它将发送part.html,但我正在使用foo_id将其转换为main.html。main.html 包含part.html,但是main.html中的{{foo_id}}没有给我任何值。我用???但是当我呈现整个模板时,没有添加html div中的数据,然后它给出正确的数据 jquery 我不太明白你的问题。我假设您的意思是希望可以从AJAX请求响应访问foo_id,但这是不可能的,因为页面是在AJAX请求发出之前呈现的,并且上下文是在发出AJAX请

可能重复:

main.html

作为响应,它将发送part.html,但我正在使用foo_id将其转换为main.html。main.html 包含part.html,但是main.html中的{{foo_id}}没有给我任何值。我用???但是当我呈现整个模板时,没有添加html div中的数据,然后它给出正确的数据

jquery


我不太明白你的问题。我假设您的意思是希望可以从AJAX请求响应访问foo_id,但这是不可能的,因为页面是在AJAX请求发出之前呈现的,并且上下文是在发出AJAX请求之前设置的,因此part.html只是django的一个模板,它使用主模板的上下文呈现整个页面。您需要在JavaScript中根据响应手动更改foo_id,或者修复您的视图从ajax视图和主视图调用相同的函数来获取foo_id

我对你的问题感到困惑的是:

但是,当我呈现整个模板时,没有在div中添加html数据,那么它就会给出正确的数据


,如果不包含part.html,我将其理解为设置foo_id,很抱歉,如果是这样的话,即使我觉得没有意义……

这里有一个未回答问题的确切副本:很抱歉,但我需要更准确地表述问题。您可以编辑您的问题,使其更清楚,而不是创建新帐户并重新发布问题。
{% extends "new-base.html" %}
{% block side-bar %}
<div id="foo1">
     {% for foo in foo_list %}
     {{ foo_id }} // ???
         {% ifequal foo.id foo_id %}
          <li id="my-id_{{ foo.id }}" class="select"><a href="#.">
         {% else %}
          <li id="my-id_{{ foo.id }}" class="no-select"><a href="#.">
         {% endifequal %}
      {% endif %}
     {% endfor %}
    </ul>
  </div>
{% endblock side-bar %}

{% block content %}
<div class="content" id="main-content">
 {% include "template/part.html" %}
</div>
{% endblock content %}
if request.is_ajax():
    t = get_template('part.html')
    html = t.render(Context({'foo_id': foo_id}))
    return HttpResponse(html)
$.ajax({
    type:'GET',
    cache: 'false',
    url:"/foobar/",
    success:function(data) {
        $('#main-content').html(data);
    }
});