在Python的Django框架下使用django-tagging的教程

yipeiwu_com6年前Python基础

django使用app机制来实现组件的重用,充分的利用已有的app可以极大的简化开发工作。目前django下的app虽然还不够丰富,却也还是有部分不错的。django-tagging就是一个不错的app。

现在tag的应用非常广泛,tag基本上成了各网站的必备项目之一,django-tagging就是一个提供tag功能的app。django-tagging提供的功能非常丰富,使用起来却十分简单。下面我就介绍一些常用的用法,让大家对该app有个基本的了解,更详细的介绍还是老老实实的去看django-tagging的使用说明吧:)。
tagging.fields.TagField

我们先定义一个数据库模型Widget,下面的范例都用Widget来进行说明

class Widget(models.Model):
  name = models.CharField(max_length=50)
  tags = TagField()


就如上面的代码,只要在数据库模型中增加tags字段就可以为该对象提供tag支持了。tags被映射为CharField,在为对象添加tag时为,英文逗号分割的字符串如:

Widget(name='hello', tags='test,hi,hello')

这样就为新建立的对象添加了test hi hello三个tag了。

获取某个tag下的所有对象的代码如下:

  #取出所有属于TAG hi的对象
  tag = get_object_or_404(Tag, name='hi')
  widgets = TaggedItem.objects.get_by_model(Widget, tag)

如要取出Widget用到的所有tag的代码为:

  tags = Widget.tags.all()

相关文章

Python中的进程分支fork和exec详解

在python中,任务并发一种方式是通过进程分支来实现的.在linux系统在,通过fork()方法来实现进程分支. 1.fork()调用后会创建一个新的子进程,这个子进程是原父进程的副本...

python3.6连接MySQL和表的创建与删除实例代码

本文主要研究的是python3.6连接MySQL和表的创建与删除的相关内容,具体步骤和代码如下。 python3.6不支持importMySQLdb改用为importpymysql模块,...

简单介绍Python中用于求最小值的min()方法

 min()方法返回它的参数最小值:最接近负无穷大的值。 语法 以下是min()方法的语法: min( x, y, z, .... ) 参数  &nb...

python中多个装饰器的执行顺序详解

python中多个装饰器的执行顺序详解

装饰器是程序开发中经常会用到的一个功能,也是python语言开发的基础知识,如果能够在程序中合理的使用装饰器,不仅可以提高开发效率,而且可以让写的代码看上去显的高大上^_^ 使用场景...

Python中逗号的三种作用实例分析

本文实例讲述了Python中逗号的三种作用。分享给大家供大家参考。具体分析如下: 最近研究python  遇到个逗号的问题 一直没弄明白 今天总算搞清楚了 1.逗号在参数传递中...