如何在django中添加标签字段?

Hel*_*llo 2 python django

这里我有一些模型,这个模型应该有一些标签以使其对 SEO 友好。为此我该如何设计我的模型?

任何建议或帮助将不胜感激。

我的模特

class TourPackage(models.Model):
    name = models.CharField(max_length=255)
    package_detail = models.TextField()
    image = models.ImageField()
    booking_start = models.DateTimeField()
    booking_end= = models.DateTimeField()
    package_start = models.DateTimeField()
    #how  can i save this tag field for seo purpose
    #tag = models.CharField()
Run Code Online (Sandbox Code Playgroud)

Wil*_*sem 6

我建议使用包,例如django-taggit[GitHub],它实现了多对多字段,但使用了一些额外的工具来使管理标签更方便。

您可以安装该软件包,例如在虚拟环境中使用 pip 软件包管理器:

pip install django-taggit
Run Code Online (Sandbox Code Playgroud)

在您的 中settings.py,然后添加'taggit'INSTALLED_APPS

# settings.py

# …

INSTALLED_APPS = [
    # …,
    'taggit',
    # …,
]
Run Code Online (Sandbox Code Playgroud)

然后你可以将一个添加TaggableManager到你的模型中:

from taggit.managers import TaggableManager

class TourPackage(models.Model):
    name = models.CharField(max_length=255)
    package_detail = models.TextField()
    image = models.ImageField()
    booking_start = models.DateTimeField()
    booking_end = models.DateTimeField()
    package_start = models.DateTimeField()

    tag = TaggableManager()
Run Code Online (Sandbox Code Playgroud)

当然,这不会将标签添加到页面中。您需要<meta>在模板中编写标签来添加元信息。