【问题标题】:Create a variable out of a tuple's tuple?从元组的元组中创建一个变量?
【发布时间】:2014-06-16 11:50:43
【问题描述】:

我正在使用 Django 框架,我正在尝试生成 li 的列表。唯一的问题是生成的每个 li 都包含所有相应的值,而不仅仅是它们按顺序出现的实例。例如:

如果我在下面的示例中打印name,它会给我:

“埃克森美孚公司。国际商业机器公司。

我怎样才能得到它以便打印“Exxon Mobil Corp.”当第一次被称为“国际商业机器公司”时第二次调用什么时候?

tuple = (('Exxon Mobil Corp.', 'XOM', '102.59', '-0.06'), ('International Business Machines Corp.', 'IBM', '182.56', '0.00'))

name, symbol, last, diff = zip(*tuple)

这是我的代码。这是在我的视图文件中:

c = db.cursor()
c.execute("SELECT `name`,`symbol`,`last`,`diff` FROM `ticker_nyse100` LIMIT 5,1")
data = c.fetchall()
name, symbol, last, diff = zip(*data)

这是在基本的 html 文件中:

{% for each in data %}
  <li class = "tkr_name">
    <span class = "comp_info">{{ name }} [{{ symbol }}] </span>{{ last }} 
    {% if '+' in diff %}
      <span class = "up">&#9650;</span> {{ diff }}</li>
    {% elif '-' in diff %}
      <span class = "down">&#9660;</span> {{ diff }}</li>
    {% else %}
      <span class = "flat">-</span> {{ diff }}</li>
    {% endif %}
{% endfor %}    

【问题讨论】:

  • @MartijnPieters 我现在修好了。对不起。
  • 您的帖子没有任何 Django-1.6 特定内容;如果您希望尽可能多地从可能能够回答的人那里获得最大的曝光率,请在我更新它们时留下标签。
  • 你是说你得到Exxon Mobil Corp.International Business Machines Corp.,然后是[some symbol],每个&lt;span&gt;标签在输出中?模板中的data 只是 data 来自c.fetchall() 结果?
  • 我在想data 中元组内的每个元组都会创建一个 li,它确实如此,是的,data 只是来自c.fetchall() 结果的data
  • 对于 li 本身,它会打印出所有名称,然后所有符号持续和差异以及任何跨度标签。

标签: python django python-2.7


【解决方案1】:

目前您正在这样做,以创建四个列表:

name, symbol, last, diff = zip(*data)

但是在模板中你没有正确地迭代它们。摆脱拉链并在模板中执行此操作会更简单:

{% for name, symbol, last, diff in data %}

【讨论】:

    猜你喜欢
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多