在python的django框架下使用django

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()

Posted in 未分类

发表评论