Python 无法在Django中加载包含标记的模板中的对象
我想在home.html模板中显示对象,对象主要在laglist模板中。我使用了include标签来执行操作,但它不起作用。以下是我的代码: laglist.htmlPython 无法在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
{% 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对象为空或无。确保它有一些结果。