【问题标题】:Values_list with flat=True still showing brackets带有 flat=True 的 Values_list 仍然显示括号
【发布时间】:2019-01-22 08:38:48
【问题描述】:

所以我有这个 html 代码:

<legend><h1 > Weapons that this character has </h1></legend>
    <div>
        <ul style="list-style-type:none" >
            {% if request.GET.idChar %}
            <li >{{ charname }} Has Maihand {{ mh }} and Offhand {{ oh }}</li> 
            {% else %}
            <li>no</li>
            {% endif %} 
        </ul>


    </div>

问题是 {{ charname }}、{{ mh }} 和 {{ oh }} 在我在 views.py 的行中添加 flat=True 后仍然显示括号,实际上它们停止显示括号,但仍显示括号。我也试过named=True,named=bool,flat=bool。还尝试了 values 而不是 values_list...

Views.py:

def character_weapons (request):
    idchar = request.GET.get('idChar')
    weapons = Characterweapons.objects.filter(characterid__exact=idchar).values_list('weaponid','categoryid_id')
    charname = Characters.objects.filter(characterid__exact = idchar).values_list('name', flat=True)
    print("charname: ")
    print(charname)
    if weapons[0][1] == 1:
        mh_id = weapons[0][0]
        oh_id = weapons[1][0]
    elif weapons[0][1] == 2:
        oh_id = weapons[0][0]
        mh_id = weapons[1][0]
    mh = Weapons.objects.filter(weaponid__exact=mh_id).values_list('weaponname', flat=True)
    oh = Weapons.objects.filter(weaponid__exact=oh_id).values_list('weaponname', flat=True)


    context={"mh": mh, "oh": oh,"idchar": idchar,"charname": charname}

    return render(request,'users/character_weapons.html', context)

如果有人知道如何解决它,请告诉我。 提前致谢!

【问题讨论】:

    标签: python html django python-3.x jinja2


    【解决方案1】:

    values_list() 和 flat=True 返回值列表,因此您必须提取索引为 0 的值,因为您的查询似乎总是只返回一行:

    context={"mh": mh[0], "oh": oh[0],"idchar": idchar,"charname": charname[0]}
    

    【讨论】:

    • 是的,对不起,我不得不等 10 分钟,呵呵
    【解决方案2】:

    这是一个平面列表,但它仍然是一个列表。如果要一次性输出,请使用|join 过滤器。

    {{ mh|join:"," }}
    

    【讨论】:

      猜你喜欢
      • 2019-10-21
      • 2021-04-19
      • 1970-01-01
      • 2017-07-22
      • 1970-01-01
      • 2022-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多