在Django项目中使用Django-Taggit添加标签

在Django项目中使用Django-Taggit添加标签

Django-Taggit是一个Django应用程序,用于为博客、文章等添加标签。它使我们能够非常容易地在我们的Django项目中添加标签功能。
设置Django项目

pip install django-taggit
  • 将其添加到主项目的settings.py文件中。
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.humanize',
    'taggit'
]
  • 对models.py文件的修改

在你的帖子、博客、文章模式中添加TaggableManager

from django.db import models
from django.utils.timezone import now
from taggit.managers import TaggableManager
 
class Post(models.Model):
    postid = models.AutoField(primary_key=True)
    title = models.CharField(max_length=255)
    content = models.TextField()
    author = models.CharField(max_length=100)
    postauthor = models.ForeignKey(User, on_delete=models.CASCADE)
    slug = models.SlugField(unique=True)
    category = models.CharField(max_length=200)
    timestamp = models.DateTimeField(default=now, blank=True)
    tags = TaggableManager()

添加TaggableManager后,在终端运行以下命令

TaggableManager将作为一个字段自动显示在后部模式中。

在Django项目中使用Django-Taggit添加标签

Taggit模式也将作为一个单独的模式自动出现在管理面板中。

在Django项目中使用Django-Taggit添加标签

管理面板中的Taggit模式

Adding tags

1) 如果输入的标签不包含任何逗号或双引号,它将被视为以空格分隔的列表
标签名称。

geeks for geeks => "geeks", "for", "geeks"

2) 如果输入的标签确实包含逗号或双引号,那么:


a) geeks, geeks for geeks => "geeks", "geeks for geeks" b) "geeks, forgeeks" geek geeksfor => "geeks, forgeeks", "geek", "geeksfor" c) "geeks, forgeeks", geek geeksfor => "geeks, forgeeks", "geeks geeksfor" d) geeks "for" geeks => "geeks", "for", "geeks"

在向帖子添加标签后,taggit模式将看起来像。

在Django项目中使用Django-Taggit添加标签

所有与不同帖子相关的标签将出现在taggit下的标签模式中。

在点击特定的标签时,会出现一个与该特定标签相关的所有帖子的列表。现在这个模型可以像其他模型一样在项目中使用

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程