Мне нужен лучший способ сделать это - PullRequest
0 голосов
/ 25 марта 2020

У меня проблемы с работой. Мне нужен лучший способ сделать это. Речь идет о get_absolute_url. на самом деле все работает нормально, но в какой-то части моего шаблона это не получилось. В представлениях у меня есть эта функция

def get_category_count():
    queryset = Post.objects.values('categories__title').annotate(Count('categories'))
    return queryset

, и я использовал ее прямо здесь, в другой функции в представлении, подобном этому

def blog(request):
category_count = get_category_count()
most_recent = Post.objects.order_by('-timestamp')[0:3]
context = {
 'most_recent': most_recent,
    'category_count':category_count
}
return render(request, 'blog.html', context)

И я фактически выполнил функцию слаг категории, как это

def category(request, slug ):
queryset = Post.objects.all()

if slug:
    category_object = get_object_or_404(Category, slug=slug)
    queryset = queryset.filter(categories__title=category_object)

context = {
    'queryset':queryset,

}
return render(request, 'category.html', context)

Теперь в шаблоне блога у меня есть это

<div class="category">
    {% for cat in post.categories.all %}
    <a href="{{cat.get_absolute_url}}">{{ cat.title }}</a>
    {% endfor %}
</div>

Теперь случилось так, что в этом же шаблоне у меня есть другой раздел, где у меня есть этот

{% for cat in category_count %}
  <div class="item d-flex justify-content-between">
    <a href="{{cat.get_absolute_url}}">{{cat.categories__title }}</a>
    <span>{{cat.categories__count}}</span>
  </div>
  {% endfor %}

случилось так, что прямо здесь get_absolute_url не работал. Возможно из-за функции get_category_count в представлениях.

Теперь мне нужен лучший способ сделать это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...