我在我的一個項目中使用了django-taggit,我可以保存標籤並將其與特定記錄綁定。現在的問題是如何顯示與每條記錄相關的標籤?django-taggit - 我如何顯示與每條記錄相關的標籤
例如,在我的頁面上,我想顯示一個包含標題和內容的記錄,然後在其下面顯示與該記錄相關的標籤。
Views.py和mytemplate.html中有什麼?真正的例子將被真正讚賞。
我在我的一個項目中使用了django-taggit,我可以保存標籤並將其與特定記錄綁定。現在的問題是如何顯示與每條記錄相關的標籤?django-taggit - 我如何顯示與每條記錄相關的標籤
例如,在我的頁面上,我想顯示一個包含標題和內容的記錄,然後在其下面顯示與該記錄相關的標籤。
Views.py和mytemplate.html中有什麼?真正的例子將被真正讚賞。
models.py
from django.db import models
from taggit.managers import TaggableManager
class MyObject(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
tags = TaggableManager()
views.py
from django.views.generic import simple
def show_object(request):
""" View all objects """
return simple.direct_to_template(request,
template="folder/template.html",
extra_context={
'objects':MyObject.objects.all(),
})
template.html
{% for object in objects %}
<h2>{{ object.title }}</h2>
<p>{{ object.content }}</p>
<ul>
{% for tag in object.tags.all %}
<li> {{ tag.name }} </li>
{% endfor %}
</ul>
{% endfor %}
謝謝!很好的例子! – avatar 2011-06-07 14:21:04
這將爲您擁有的每個對象創建額外的數據庫查詢。如果你有很多對象,那可能會讓事情變慢。我遇到過這個問題,正在尋找解決方案。 – teewuane 2013-04-19 17:44:01
我有點晚回覆@teewuane,但是,您是對的。通過使用'preselect_related'從django.views.generic中導入簡單的''prefetch前面的 – 2014-02-07 11:13:40