如何正确解包元组并显示它?
How to correctly unpack tuple and display it?
我 ['34242342', 'Ford focus 2015', 'Chevrolet Impala 1960', 'Ford focus 2012', 'Dodge charger 2010', 'Dodge', 'New fiat punto 2012']
创建自:(('34242342',), ('Ford focus 2015',), ('Chevrolet Impala 1960',))
(未满)。
我想在我的模板上显示它:
{% for p in full %}
<form action="{% url 'table' %}" method="GET">
<input style="background-color:#2F4050;color:#A7B1C2; margin-top:5px;border: none; border-color: rgba(0,0,0,0.9);" type="submit" value={{ p }} name="button">
</form>
{% endfor %}
但它没有显示完整元素,而是将其剪切:
34242342
Ford
Chevrolet
Ford
Dodge
New
如果我调用如下元素,它会正确显示所有内容:
{% for p in full %}
{{p}}
{% endfor %}
它只在输入的value
选项中切割元素。
已更新
views.py:
db = MySQLdb.connect(host="192.168.4.200",
user="root",
passwd="123456",
db="store", charset="utf8")
cur = db.cursor()
cur.callproc('store')
info = cur.fetchall()
full = info
new_list = []
for tup in full:
full = ",".join(tup)
new_list.append(full)
return render(request, 'table.html', {'full': new_list})
简单的数据库请求和显示数据。
您可以使用列表推导解压一元组的元组:
data = (('34242342',), ('Ford focus 2015',), ('Chevrolet Impala 1960',))
result = [item for item, in data]
例如:
>>> [item for item, in data]
['34242342', 'Ford focus 2015', 'Chevrolet Impala 1960']
注意 item,
中的逗号,这会强制解包 1 元组。
如果元组可以包含更多元素,您也可以遍历这些元素:
result = [subitem for item in data for subitem in item]
话虽如此,请不要使用.values_list(..)
检索数据。检索 模型对象 。这样就保留了模型中实现的逻辑。此外,强烈建议使用 Django ORM。 Django 的模型通常是使 Django 有效工作的原因。
在模板中,您应该为属性使用引号:
<input value=<b>"{{ p }}"</b> name="button"<
我 ['34242342', 'Ford focus 2015', 'Chevrolet Impala 1960', 'Ford focus 2012', 'Dodge charger 2010', 'Dodge', 'New fiat punto 2012']
创建自:(('34242342',), ('Ford focus 2015',), ('Chevrolet Impala 1960',))
(未满)。
我想在我的模板上显示它:
{% for p in full %}
<form action="{% url 'table' %}" method="GET">
<input style="background-color:#2F4050;color:#A7B1C2; margin-top:5px;border: none; border-color: rgba(0,0,0,0.9);" type="submit" value={{ p }} name="button">
</form>
{% endfor %}
但它没有显示完整元素,而是将其剪切:
34242342
Ford
Chevrolet
Ford
Dodge
New
如果我调用如下元素,它会正确显示所有内容:
{% for p in full %}
{{p}}
{% endfor %}
它只在输入的value
选项中切割元素。
已更新
views.py:
db = MySQLdb.connect(host="192.168.4.200",
user="root",
passwd="123456",
db="store", charset="utf8")
cur = db.cursor()
cur.callproc('store')
info = cur.fetchall()
full = info
new_list = []
for tup in full:
full = ",".join(tup)
new_list.append(full)
return render(request, 'table.html', {'full': new_list})
简单的数据库请求和显示数据。
您可以使用列表推导解压一元组的元组:
data = (('34242342',), ('Ford focus 2015',), ('Chevrolet Impala 1960',))
result = [item for item, in data]
例如:
>>> [item for item, in data]
['34242342', 'Ford focus 2015', 'Chevrolet Impala 1960']
注意 item,
中的逗号,这会强制解包 1 元组。
如果元组可以包含更多元素,您也可以遍历这些元素:
result = [subitem for item in data for subitem in item]
话虽如此,请不要使用.values_list(..)
检索数据。检索 模型对象 。这样就保留了模型中实现的逻辑。此外,强烈建议使用 Django ORM。 Django 的模型通常是使 Django 有效工作的原因。
在模板中,您应该为属性使用引号:
<input value=<b>"{{ p }}"</b> name="button"<