东京热成人网站_XX另类XX伦理XXAV_亚洲精品无码成人AAA片_高清av中文字幕无码_手机看片国产欧美日韩高清_bd美妙第进化型

咨詢電話:
15628812133
18
2020/07

Django模板語(yǔ)法中for循環(huán)中怎么使用變量值作為其他字典的鍵值

發(fā)布時(shí)間:2020-07-18 17:16:47
發(fā)布者:神棍子
瀏覽量:
0

該問題在正常python中并不存在,但是在django模板語(yǔ)法中字典中的鍵名是無(wú)法用變量來(lái)調(diào)取的,所以只能用自定義tag和自定義變量來(lái)解決該問題。

比如有兩個(gè)變量a=["26", "27"],b={"26": ["/static/upload/20200717/1594954536.jpg", "/static/upload/20200717/1594954540.png"],"27":["/static/upload/20200717/1594954545.jpg"]},這時(shí)想要根據(jù)循環(huán)a的值來(lái)當(dāng)做b的索引然后在循環(huán)出內(nèi)部的數(shù)據(jù)。

    Python中正常寫法:

        for I in a:

            for x in b[i]:

                print(x)

這樣便能夠輸出b中每一條記錄,但是django中模板中不支持任何寫法的b[i]

解決方法為:

{% for i in a%}

            {% with photo=b|get_obj:i %}#定義一個(gè)變量phtot  自定義標(biāo)簽get_boj 獲取b對(duì)象中的i

                {% for x in photo %}

                      {{x}}

                 {% endfor %}

             {% endwith %}

    {% endfor %}

Templatetags中的自定義變量

    @register.filter

    def get_obj(list,key):

        # return len(list)

        return list.get(key)

這樣便可以解決剛才輸出的問題,具體django模板語(yǔ)法請(qǐng)參考文章:django使用中遇到的小問題以及解決方案

timg (2).jpg


關(guān)鍵詞:
返回列表