Теги шаблона Django отображаются как None в шаблоне

Кто-нибудь может помочь мне решить эту проблему, почему мои теги шаблонов не отображаются в шаблоне? но вместо этого отображается только как 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.


person binpy    schedule 07.01.2017    source источник
comment
Вам нужен оператор return в функции тега: return Category.objects.all().count()!   -  person schwobaseggl    schedule 07.01.2017