Django Пользовательские теги включения - PullRequest
0 голосов
/ 14 апреля 2020

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

templatetags. py

from django import template
from ..models import Post

register = template.Library()

@register.inclusion_tag('blog/post/latest_posts.html')
def show_latest_posts(count=5):
    latest_posts = Post.published.order_by('-publish')[:count]
    return {'latest_posts': latest_posts}

тег включения в последних постах. html файл последний_пост. html

<ul>
    {% for post in posts %}
        <li>
            <a href="{{ post.get_absolute_url }}">{{ post.title }}</a>
        </li>
    {% endfor %}
</ul>

templatestag.py

base. html

{% load blog_tags %}
{% load static %}
<h3>Latest Posts</h3>
{% show_latest_posts 3 %}

включая шаблон в базе. html

и это моя файловая структура

blog/
  templates/
    blog/
      post/
        lastest_posts.html
      base.html
  templatetags/
    __init__.py
    blog_tags.py

1 Ответ

0 голосов
/ 15 апреля 2020

Кажется, что ваш шаблон неправильный. Просто измените сообщения на latest_posts

<ul>
    {% for post in latest_posts %}
        <li>
            <a href="{{ post.get_absolute_url }}">{{ post.title }}</a>
        </li>
    {% endfor %}
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...