Python 无法在Django中加载包含标记的模板中的对象

Python 无法在Django中加载包含标记的模板中的对象,python,django,django-templates,Python,Django,Django Templates,我想在home.html模板中显示对象,对象主要在laglist模板中。我使用了include标签来执行操作,但它不起作用。以下是我的代码: laglist.html {% extends "base.html" %} {% block lag %} <h2>Lam </h2> {% for leggo in leggos %} <p><a href= "{% url hallde

我想在home.html模板中显示对象,对象主要在laglist模板中。我使用了include标签来执行操作,但它不起作用。以下是我的代码:

laglist.html

   {% extends "base.html" %}

    {% block lag %}
        <h2>Lam </h2>

        {% for leggo in leggos  %}
           <p><a href= "{% url halldetail leggo.id %}" >{{ leggo.name }}</a><p>
      <img src="{{MEDIA_URL}}/{{leggo.thumbnail_1.url}}" width="83" height="78"> <img src="{{MEDIA_URL}}/{{leggo.thumbnail_2.url}}" width="83" height="78" />

        <li>{{ leggo.state }}</li>
         {% endfor %}

    {% endblock %}
home.html

 {% extends "base.html" %}
 {% block content %}

   <p> {% include 'laglist.html' %} </p>
 {% endblock %}

这似乎是一个相当普遍的误解,尽管我不明白为什么

视图渲染模板,而不是相反。模板与视图没有连接,包含模板不会调用视图


如果您想在一些Python代码中包含一个模板,您需要编写一个自定义模板标记-可能就是您所需要的。

这似乎是一个相当常见的误解,尽管我不明白为什么

视图渲染模板,而不是相反。模板与视图没有连接,包含模板不会调用视图


如果您想在一些Python代码中包含一个模板,您需要编写一个自定义模板标记-可能就是您所需要的。

您需要将
leggos
字典传递到主视图,它才能工作。因此,请在您的主视图中尝试此操作

def home(request):
    data = {}
    data['leggos'] = Fin.objects.filter(state='venu')
    return render_to_response('home.html', data, context_instance=RequestContext(request))
然后在laglist.html中尝试以下操作:

{% if leggos %}
    {% for leggo in leggos %}
        <p> {{ leggo }} </p>
    {% endfor %}
{% else %}
    <p> Sorry, No Leggos Found.</p>
{% endif %}
{%if leggos%}
{leggo%中的leggo为%1}
{{leggo}}

{%endfor%} {%else%} 抱歉,找不到Leggos

{%endif%}
您需要将
leggos
字典传递到主视图,它才能工作。因此,请在您的主视图中尝试此操作

def home(request):
    data = {}
    data['leggos'] = Fin.objects.filter(state='venu')
    return render_to_response('home.html', data, context_instance=RequestContext(request))
然后在laglist.html中尝试以下操作:

{% if leggos %}
    {% for leggo in leggos %}
        <p> {{ leggo }} </p>
    {% endfor %}
{% else %}
    <p> Sorry, No Leggos Found.</p>
{% endif %}
{%if leggos%}
{leggo%中的leggo为%1}
{{leggo}}

{%endfor%} {%else%} 抱歉,找不到Leggos

{%endif%}
laglist.html和home.html都是从base.html扩展而来的。如果包含这样的模板,这可能不起作用。您的laglist.html和home.html都是从base.html扩展而来的。可能,当你包含这样的模板时,这不起作用。谢谢你的回复。尝试之后,它返回“抱歉,没有找到leggos”。怎么了?似乎传递给模板的leggos对象为空或无。确保它有一些结果。谢谢你的回复。尝试之后,它返回“抱歉,没有找到leggos”。怎么了?似乎传递给模板的leggos对象为空或无。确保它有一些结果。