У меня есть заголовок. html файл в моих каталогах в каталоге шаблонов. У меня есть раздел для категорий, которые мне нужно получить из базы данных. Поэтому я создал собственный тег шаблона в папке своего приложения. Я написал тег для последней выпадающей статьи и категорий. Ну, как-то статьи выбираются из базы данных, а категории - нет.
models.py
from django.db import models
from django.utils.text import slugify
from django.urls import reverse
from ckeditor_uploader.fields import RichTextUploadingField
from datetime import datetime
class Category(models.Model):
label = models.CharField(max_length=15, unique=True)
def __str__(self):
return self.label
class Article(models.Model):
title = models.CharField(max_length=80, unique=True, help_text='Max Length: 80')
category = models.ForeignKey(Category, on_delete=models.DO_NOTHING)
banner_image = models.ImageField(upload_to='photos/%Y/%m/%d/', help_text='Banner Image', default=None)
description = models.TextField(max_length=200 ,help_text='Short descirption about the post')
content = RichTextUploadingField(help_text='Site Content')
published = models.BooleanField(default=True)
date_created = models.DateTimeField(auto_now_add=True)
last_modified = models.DateTimeField(auto_now=True)
views = models.BigIntegerField(default=0)
featured = models.BooleanField(default=False)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('article', kwargs={'category': self.category, 'post': self.title})
мой пользовательский тег tempalte
from django import template
from articles.models import Article, Category
register = template.Library()
@register.inclusion_tag('partials/_header.html')
def recent():
category = Category.objects.all() #not being fetched
recents = Article.objects.filter(published=True).order_by('-date_created')[:9]
trendings = Article.objects.filter(published=True).order_by('-views')[:9]
return {
'recents': recents,
'trendings': trendings,
'category': category,
}
** мой заголовок. html файл **
<div id="asmCategoryContents" class="asm-Category_Contents">
{% for cat in category %}
<a href=""> {{ cat }}</a>
{% empty %}
<h2>Not found</h2>
{% endfor %}
</div>
Я использую MYSQL в качестве базы данных. Я запустил все миграции и создал ярлык для категорий, однако он всегда отображает «Не найдено» для категорий. Тем не менее, он хорошо работает для статей.