這篇文章主要介紹了在Python的Django框架下使用django-tagging的教程,針對網絡編程中的tag部分功能提供幫助,需要的朋友可以參考下
django使用app機制來實現組件的重用,充分的利用已有的app可以極大的簡化開發工作。目前django下的app雖然還不夠豐富,卻也還是有部分不錯的。django-tagging就是一個不錯的app。
現在tag的應用非常廣泛,tag基本上成了各網站的必備項目之一,django-tagging就是一個提供tag功能的app。django-tagging提供的功能非常豐富,使用起來卻十分簡單。下面我就介紹一些常用的用法,讓大家對該app有個基本的了解,更詳細的介紹還是老老實實的去看django-tagging的使用說明吧:)。
tagging.fields.TagField
我們先定義一個數據庫模型Widget,下面的范例都用Widget來進行說明
?
1 2 3 class Widget(models.Model): name = models.CharField(max_length=50) tags = TagField()就如上面的代碼,只要在數據庫模型中增加tags字段就可以為該對象提供tag支持了。tags被映射為CharField,在為對象添加tag時為,英文逗號分割的字符串如:
?
1 Widget(name='hello', tags='test,hi,hello')這樣就為新建立的對象添加了test hi hello三個tag了。
獲取某個tag下的所有對象的代碼如下:
?
1 2 3 #取出所有屬於TAG hi的對象 tag = get_object_or_404(Tag, name='hi') widgets = TaggedItem.objects.get_by_model(Widget, tag)如要取出Widget用到的所有tag的代碼為:
?
1 tags = Widget.tags.all()