1

有人可以帮我解决这个问题,为什么我的模板标签没有在模板中呈现?但是,仅呈现为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取而代之。

4

0 回答 0