如何解决博客类别 Slugify 在 Django 中不起作用
当我点击帖子类别时出现错误,它显示字段“id”需要一个数字但得到“编码”。
型号:
class Categories(models.Model):
name = models.CharField(max_length=200)
class Meta:
verbose_name_plural = 'Categories'
def __str__(self):
return self.name
class Item(models.Model):
title = models.CharField(max_length=100)
description= RichTextField(blank=True,null=True)
main_image= models.ImageField(null=True,blank=True,upload_to='images/')
date = models.DateTimeField(auto_Now_add=True)
item_category = models.ForeignKey(Categories,default='Coding',on_delete=SET_DEFAULT)
slug = models.SlugField(null=False,unique=True) # new
查看:
def CategoryView(request,cats):
category_posts = Item.objects.filter(item_category=cats.replace('-',''))
return render(request,'waqart/categories.html',{'cats':cats.title(),'category_posts':category_posts })
网址:
urlpatterns = [
path('',ItemListView.as_view(),name='waqart-home'),path('add_item/',ItemCreateView.as_view(),name='create_item'),path('item/<int:pk>/',ItemDetailView.as_view(),name='item_detail'),path('item/edit/<int:pk>/',ItemUpdateView.as_view(),name='item_update'),path('category/<str:cats>/',CategoryView,name='category'),
我是 django 的新手,如果有人能帮我解决这个问题不胜感激
解决方法
您需要过滤 item_category
的名称,因此:
def CategoryView(request,cats):
category_posts = Item.objects.filter(
item_category__name=cats.replace('-','')
)
return render(request,'waqart/categories.html',{'cats':cats.title(),'category_posts':category_posts })
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。