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

來源:互聯網
上載者:User

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

   這篇文章主要介紹了在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()

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.