有人可以帮我解决这个问题,为什么我的模板标签没有在模板中呈现?但是,仅呈现为None
。
以前我与Django==1.10.4
.
1. templatetags/total_tags.py
,我已经__init__.py
在这个文件夹里面创建了。
from django import template
from myapp.models import Category
register = template.Library()
@register.simple_tag
def total_categories():
"""
{% load total_tags %}
{% total_categories %}
used in: `includes/menus_dashboard.html`
"""
print(Category.objects.all()) # this worked well
Category.objects.all().count()
2. myapp/dashboard.html
{% extends "base.html" %}
{% load i18n %}
{% block title %}{% trans "Dashboard" %} :: {{ block.super }}{% endblock %}
{% block content %}
<div class="ui two column stackable grid">
<div class="four wide column dashboard-menu">
{% include "includes/menus_dashboard.html" %}
</div>
</div>
{% endblock %}
3. includes/menus_dashboard.html
的模板
{% total_topics %}
标签与{% total_categories %}
{% load total_tags %}
<div class="ui fluid large inverted vertical pointing menu">
<a class="active item">
Dashboard
</a>
<a class="item">
Categories <div class="ui small label">{% total_categories %}</div>
</a>
<a class="item">
Topics <div class="ui small label">{% total_topics %}</div>
</a>
<a class="item">
Moderators <div class="ui small label">2</div>
</a>
<div class="item">
<div class="ui icon input">
<input type="text" placeholder="Search threads...">
<i class="search icon"></i>
</div>
</div>
</div>
另一个想法,我试过这样的答案:https ://stackoverflow.com/a/12143011 。并用 处理它
@register.assignment_tag
,但仍然不能很好地工作,只能None
取而代之。