我無法獲得顯示的inclusion_tag的內容。我沒有收到錯誤,所以我知道標籤正在註冊,我幾乎可以肯定它正在正確加載。標籤在crudapp/templatetags/crudapp_tags.py創建Django inclusion_tag內容不顯示
from django import template
register = template.Library()
@register.inclusion_tag("forum.html")
def results(poll):
form = 'blah'
return {'form': form}
模板/ forum.html
{% extends 'index.html' %}
{% load crudapp_tags %}
{% results poll %}
<p>aaa</p>
{% block homepage %}
<p>bbb</p> <!-- Only this displays -->
{% if form %}
<p>Form exists</p>
{% endif %}
{% for item in form %}
<p>This is {{ item }}</p>
{% endfor %}
<div>
<p>{% if user.is_authenticated %}Add a New Topic: <a href="{% url 'topic_form' %}"><span class="glyphicon glyphicon-plus"></span></a>{% endif %}</p>
</div>
<div>
<p>{{ totalposts.count }} posts, {{ totaltopics.count }} topics, {{ totalusers.count }} users, {{ totalviews.numviews}} views</p>
</div>
{% endblock %}
設置文件如下,
這裏的東西沒有意義;您的包含標籤正在呈現使用標籤本身的模板。 –
另外'templates'目錄應該位於你的app目錄中,而不是項目的根目錄,除非你已經明確地告訴Django去看那裏。 – solarissmoke
我認爲你誤解了包含標籤的作用。包含標籤呈現*另一個*模板。由於您在塊外部有'{%results poll%}',因此標記的結果將永遠不會顯示。也許你想要一個[作業標籤](https://docs.djangoproject.com/en/1.9/howto/custom-template-tags/#assignment-tags)代替(在Django 1.9中,你可以使用簡單的標籤而不是分配標籤)。 – Alasdair