python - 带有 flat=True 的 Values_list 仍显示括号

标签 python html django python-3.x jinja2

所以我有这个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_list...

View .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)

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

最佳答案

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

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

关于python - 带有 flat=True 的 Values_list 仍显示括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51859200/

相关文章:

python - 相机标定opencv python

javascript - 如何在单击按钮时显示新的 HTML 表格

python - 一些 Celery 任务有效,其他任务未注册

django - 在DRF中拒绝权限时返回自定义消息

python - 在蛇游戏中增加蛇的长度

Python日期时间与<比较返回错误结果

javascript - 是什么阻碍了 Ruby、Python 来获得 Javascript V8 速度?

html - 无论缩放多少,只有 Firefox 在中间显示 Logo 。 IE 和 Chrome 不读取顶部和底部边距。任何人都知道为什么?

javascript - 使用 JavaScript 将数据插入数据库时​​在控制台中创建错误 'Maximum call stack size exceeded'

python - 如果对象已在 Django 中删除,如何更新对象或保释