Fabulous Tagging for Django

django-tagulous的Python项目详细描述


Django的标签库建立在ForeignKey和ManytomanyField的基础上, 你的所有正常能力加上一点点标记语法糖。

https://travis-ci.org/radiac/django-tagulous.svg?branch=masterhttps://coveralls.io/repos/radiac/django-tagulous/badge.svg?branch=master&service=github

功能

  • 易于安装-简单的要求、简单的语法、许多选项
  • 基于foreignkey和manytomanyfield,因此很容易查询
  • 如果需要,可内置自动完成支持
  • 在单个模型上支持多个独立的标记字段
  • 可用作用户可自定义的字符域,可供选择
  • 支持嵌套标记树,以便进行详细分类
  • 管理标记和标记模型的管理支持

版本0.14.0;在Python2.7和3.2到3.7上支持Django1.4.2到2.1。

Documentation 有关Tagulous工作原理的详细信息;特别是:

快速启动

使用pip install django-tagulous安装,将tagulous添加到django的 INSTALLED_APPS,然后开始向模型添加标记字段:

from django.db import models
import tagulous

class Person(models.Model):
    name = models.CharField(max_length=255)
    title = tagulous.models.SingleTagField(initial="Mr, Mrs, Miss, Ms")
    skills = tagulous.models.TagField()

现在可以使用字符串、列表或查询集设置和获取它们:

myperson = Person.objects.create(name='Bob', title='Mr', skills='run, hop')
# myperson.skills == 'run, hop'
myperson.skills = ['jump', 'kung fu']
myperson.save()
# myperson.skills == 'jump, "kung fu"'
runners = Person.objects.filter(skills='run')

在后台,标记存储在单独的模型中(默认情况下),因此 因为字段基于ForeignKeyManyToManyField更多 复杂的查询很简单:

qs = MyRelatedModel.objects.filter(
    person__skills__name__in=['run', 'jump'],
)

除此之外,您还可以在公共和管理表单中获得自动完成功能, 自动slug生成,unicode支持,可以轻松构建标签云, 并且可以嵌套标签以进行更复杂的分类。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中是否有数字的默认类型   java调用一个类的方法来使用另一个类的实例   java HtmlUnit不适用于javascript处理   java需要帮助才能连接MongoDB   java如何从Maven中的src/main/resources复制文件?   java保存Int值(共享首选项)   从另一个类调用方法时,java Autowired组件出现空指针异常   java Spring JPA:PropertyAccessException 1:。。。MethodInvocationException:。'driverClassName'。。。org/postgresql/Driver:不支持的专业。次要版本52.0   java使用增强的JDO模型类在Eclipse中运行Junit测试   java如何使用eclipse IDE为junit创建可运行的jar文件   java如何在安卓中检测应用程序的启动和退出   java在其他线程可以访问静态映射时从数据库更新静态映射   java@Entitty和@EntityScan不起作用。我正在使用SpringBoot和jpa存储库,发生了很多次   java如何与google日历集成?