在Python的Django框架下使用django-tagging的教程
django使用app機制來實現組件的重用,充分的利用已有的app可以極大的簡化開發(fā)工作。目前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實現基于TCP UDP協(xié)議的IPv4 IPv6模式客戶端和服務端功能示例
這篇文章主要介紹了Python實現基于TCP UDP協(xié)議的IPv4 IPv6模式客戶端和服務端功能,結合實例形式分析了Python基于TCP UDP協(xié)議的IPv4 IPv6模式客戶端和服務端數據發(fā)送與接收相關操作技巧,需要的朋友可以參考下2018-03-03