簡體   English   中英

Django-顯示嵌套在html模板列表中的字典中的值

[英]Django - displaying values from a dictionary nested in a list in an html template

我的views.py文件中有以下基於類的視圖:

class HomeView(TemplateView):
    template_name = 'annual_means/home.html'

    site_list = AnnualMean.objects.values("site").distinct()

    def get_context_data(self, **kwargs):
        context = super(HomeView, self).get_context_data(**kwargs)
        context['sites'] = AnnualMean.objects.values("site").distinct()
        return context

在我的html模板的頂部,僅出於測試目的,我有{{sites}}並且它顯示:

下面,我有以下html代碼:

{% for value in sites %}
    <li>{{value}}</li>
{% endfor %}   

並且它列出了上面顯示的所有key:value對,例如{'site':'Belfast Centre'},而不僅僅是這些值。 我認為這是由於QuerySet中的字典嵌套在列表中。 有沒有辦法我可以只返回字典或以其他方式解決這個問題?

我認為您應該將其用作:

{% for value in sites %}
    <li>{{value.site}}</li>
{% endfor %}   

現在它將打印列表中的值

您可以使用點符號來訪問字典中

字典查找,屬性查找和列表索引查找均以點表示法實現:

  {{ my_dict.key }} {{ my_object.attribute }} {{ my_list.0 }} 

對於您的代碼,應為:

{% for value in sites %}
    <li>{{value.site}}</li>
{% endfor %}   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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