Категоризация сообщений в Django?

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

MODELS.PY

html= "html"
css= "css"
python= "python"
javascript = "javascript"
Lang=(
    (html,"HTML"),
    (css,"CSS"),
    (python,"PYTHON"),
    (javascript,"JAVASCRIPT")
)

Broilerplate = "Broilerplate"
Simple_Tags = "Simple Tags"
Elements = "Elements"
Webpages = "Webpages"

Category = (
    (Broilerplate,"BROILERPLATE"),
    (Simple_Tags,"Simple tags"),
    (Elements,"Elements"),
    (Webpages,"Webpages")
)


class Post(models.Model):
    title = models.CharField(max_length=75)
    subtitle = models.CharField(max_length=150)
    language_1 = models.CharField(max_length=100, choices=Lang, default=html)
    content_1= models.TextField(blank=True)
    language_2 = models.CharField(max_length=100, choices=Lang,blank=True)
    content_2= models.TextField(blank=True)
    language_3 = models.CharField(max_length=100, choices=Lang,blank=True)
    content_3= models.TextField(blank=True)
    language_4 = models.CharField(max_length=100, choices=Lang,blank=True)
    content_4= models.TextField(blank=True)
    language_5 = models.CharField(max_length=100, choices=Lang,blank=True)
    content_5= models.TextField(blank=True)
    category= models.CharField(max_length=100, choices=Category, default=Broilerplate)
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User,on_delete=models.CASCADE)

    def __str__(self):
        return self.title

    # def update(self):
    #     updated_at = timezone.now()
    #     self.save(updated_at)

    def get_absolute_url(self):
        return reverse('post-detail', kwargs={'pk':self.pk})

VIEWS.PY

def search_by_category(request, category):

    if request.post.objects.filter(pk=request.post.id).first().category == 'Broilerplate':
        nor = request.post.objects.filter(pk=request.post.id).first().category
        print(nor)
        posts = Post.objects.filter(category='Broilerplate')
        category = posts.first().category
        print(category)
        context = {'posts': posts, 'title': category , 'category': category}
        return render(request, 'category.html', context)
    else:  
        context = {'title': category , 'category': category}
        return render(request, 'category.html', context)

URLS.PY

urlpatterns = [
    path('html/',PostListView.as_view(), name='CodeWriter_Homepage'),
    path('python/',views.CodeWriter_homepage_python, name='CodeWriter_Homepage_python'),
    path('search/', views.search, name='search'),
    path('categroize-by/<str:category>/', views.search_by_category, name='search_by_category'),
    path('post-details/<int:pk>/',PostDetailView.as_view(), name='Post_details_page'),
    path('post-update/<int:pk>/',PostUpdateView.as_view(), name='Post_update_page'),
    path('post-delete/<int:pk>/',PostDeleteView.as_view(), name='Post_delete_page'),
    path('user/<str:username>/', UserPostListView.as_view(), name='user-post'),
    path('new-post/',PostCreateView.as_view(), name='New-post_page')
]

CATEGORY.html Как я могу получить данные категории постов в views.py? Это очень поможет мне!

NoteЯ зарегистрировал модель Post в admin.py. Скажите мне решение этой проблемы я не могу получить решение я пытался так долго и застрял на этом.

Вернуться на верх