如何在Django中的元组(也是Python中的元组)中传递特定值



我有这个Categories字典,它是元组中的元组,但我只想隔离文本-->类别名称

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 }} 

最新更新