簡體   English   中英

如何在 Django 中的 Python 中的元組中傳遞一個特定的值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM