繁体   English   中英

Django 渲染字典

[英]Django render Dictionary

为什么我不能访问我在这里制作的字典:

def kalkuler(request):

    fotlister = Produkt.objects.filter(under_kategori__navn__iexact="lister")
    kalkuler = ProduktKalkureing.objects.all()

    beregning = {}

    if request.method == "POST":
        omkrets = request.POST['omkrets']
        print(omkrets)
        for i in kalkuler:
            kalk = math.ceil((int(omkrets)/i.lengde)*1000)

            add = ({'produkt_tittel': i.produkt.produkt_tittel,
                    'produkt_bilde': i.produkt.produkt_bilde,
                    'produkt_info': i.produkt.produkt_info,
                    'produkt_link': i.produkt.produkt_link,
                    'pris_heltall': i.produkt.pris_heltall,
                    'antall_kalk': kalk,
                    'total_kost': kalk * i.produkt.pris_heltall
                    })

            beregning.update(add)

    print(beregning)

    context = {'kalkuler': kalkuler, 'beregning': beregning}

    return render(request, 'frontend/kalkuler/fotlist_kalkuler.html', context)

使用标准的 Django 代码?

{% for b in beregning %}
   {{b.produkt_bilde}}
{% endfor %}

此外,当我制作字典时,它只添加最后一个值。 我如何制作它才能增加每一个价值。

对于您似乎实现的目标,您需要一个list而不是一个dict

def kalkuler(request):
    ...
    beregning = []
    ...
        beregning.append(add)
    ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM