2016-05-22 1 views
0

Я не получаю ошибок, но я не могу получить тег, чтобы отображать его содержимое. Содержание 'формы' должно быть 'бла', установитьТег, не регистрирующий с включением_tag

Файл вверх является,

enter image description here

crudapp_tags.py

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> 
    <div class="post"> 
     {% if pModel %} 
     <div class="table-responsive"> 
     <table class='table table-striped table-hover'> 
      <thead> 
      <tr> 
       <th>Topic</th> 
       <th>Topic Started By</th> 
       <th>Last Active</th> 
       <th class="table-cell-center">Views</th> 
       <th class="table-cell-center">Posts</th> 
      </tr> 
      </thead> 
      <tbody> 
      {% for item in pModel %} 
      <tr> 
       <td><a href="{% url 'thread' item.topic_id %}">{{ item.topic.topic }}</a></td> 
       <td><a href="{% url 'profile' item.topic.author_id %}">{{ item.topic.topicAuthor }}</a></td> 
       <td class="icon-nowrap">{{ item.pub_date|timesince:current_time}}</td> 
       <td class="table-cell-center">{{ item.topic.views }}</td> 
       <td class="table-cell-center">{{ item.freq }}</td> 
      </tr> 
      {% endfor %} 
      </tbody> 
     </table> 
     {% endif %} 
     </div> 
    </div> 
    {% endblock %} 

crudProject/settings.py содержит приложение в INSTALLED_APPS

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'bootstrapform', 
    'django.contrib.sites', 
    'allauth', 
    'allauth.account', 
    'allauth.socialaccount', 
    'allauth.socialaccount.providers.facebook', 
    'tinymce', 
    'crudapp', 
] 

Установка кажется таким же, как ответ на эту тему, Django - Simple custom template tag example

Почему «мля» не отображается в forum.html?

Первоначально эта проблема заключалась в том, что тег не регистрировался. Теперь эта проблема исправлена ​​с помощью правильной нотации декоратора. Проблема в том, что содержимое тега не отображается. Поэтому я создал новый вопрос в Django inclusion_tag contents not displaying

Благодарности

+0

Вы перечислены ваше приложение '' crudapp' в INSTALLED_APPS' в ' settings.py'? –

+0

Да, я перечислил crudapp в INSTALLED_APPS в settings.py. Также я перезапустил сервер после исправления нотации украшения. –

+0

шаблоны/forum.html не находится внутри crudapp. Это нормально? –

ответ

2

Похоже, вы упускаете украшения обозначения здесь: register.inclusion_tag("forum.html") должны быть @register.inclusion_tag("forum.html")

+0

Спасибо, я вижу, что я забыл @ и положил его сейчас. Я также изменил ошибку на то, что она сейчас представляет, и поставил вопрос на полный файл forum.html. По-прежнему возникает ошибка, что тег не зарегистрирован. –

+0

Похоже, что прокомментированная строка не игнорировалась, и в строке 7 был добавлен {% endblock%}. Теперь ошибок нет, но «blah» не появляется , –

+0

Я добавил это, если заявление forum.html {% Результаты опроса%} {% если форма%}

форма существует

{% ENDIF%} и 'Frorm существует' не отображается, так что я знаю 'форму' in not getting to forum.html –

Смежные вопросы