[英]How to pass a particular value inside a Tuple that also a tuple in Python in Django?
我有這本用於類別的字典,它是元組中的元組,但是我只想隔離文字 --> 類別名稱
from django.db import models
CATEGORIES = (
('a', 'Clothing'),
('b', 'Electronics'),
('c', 'Furniture'),
('d', 'Kitchen'),
('e', 'Miscellaneous'),
('f', 'None'),
)
但在一個不同的文件中,views.py 是這個
def show_category_listings(request, category):
listings = Listing.objects.filter(category__in = category[0])
cat = dict(CATEGORIES)
return render(request, 'auctions/categSpecific.html', {
"listings": listings,
"category": cat[category]
})
最后在 html 中是這個<li>Category: {{ listing.category }}</li>
但我看到的只是字母而不是html中的名稱
有沒有辦法只獲取類別名稱? 我無法弄清楚 views.py 部分中值的傳遞。
Django 中有一些神奇的方法。 一種是get_FOO_display ()
,它以人類可讀的格式顯示字段值。
下一個代碼在 choiceField 中顯示名稱值。
<li>Category: {{ listing.get_category_display }}</li>
在此處閱讀文檔: https : //docs.djangoproject.com/en/3.2/ref/models/instances/#django.db.models.Model.get_FOO_display
在模板中傳遞這個?
"category_names" : [ x[1] for x in CATEGORIES]
甚至
"category_lookup" : { x[0]:x[1] for x in CATEGORIES }
另請參閱文檔( get_FOO_display()
)。 Django 模型包括將模型字段值轉換為人類可讀形式的方法。 您可以從模板調用此模型方法作為
{{ instance.get_fieldname_display }}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.