【问题标题】:Django form Data Retaliate and DisplayDjango表单数据报复和显示
【发布时间】:2017-09-26 16:17:46
【问题描述】:

我在我的模板文件中从 forms.py 获取这种类型的数据。现在我只想获取 sql_name 字段的数据,即 u'ag_pres 。那么我怎样才能得到这些数据呢?请在投反对票之前让我知道我做错了什么?

<type 'list'>: [{'sql_name': u'ag_pres', 'type': 'string', 'name': u'Ag Pres', 'map_order': 0}, {'sql_name': u'abc', 'type': 'string', 'name': u'ABC', 'map_order': 0}]

【问题讨论】:

    标签: python django django-forms django-templates django-views


    【解决方案1】:

    如果没有其余的视图和模板代码,很难判断,但查看该输出,我认为问题在于 sql_name 位于列表中的对象内 - 因此无法直接访问。

    您需要遍历模板中列表中的项目以输出sql_name 的值。您可以使用 {% for %} 内置标签:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#for

    例如,在您的模板中:

    {% for item in the_list %}
        {{ item.sql_name }}
    {% endfor %}
    

    【讨论】:

      【解决方案2】:

      看来您可能有一个包含此数据的变量,我称之为result,并且您已经询问了它的类型。

      那我可以说,

      result = [{'sql_name': u'ag_pres', 'type': 'string', 'name': u'Ag Pres', 'map_order': 0}, {'sql_name': u'abc', 'type': 'string', 'name': u'ABC', 'map_order': 0}]
      

      我可以看到结果是一个列表,我发现它的长度是两个。

      >>> len(result)
      2
      

      'sql_name' 显然在列表的第二项中,它是一个字典。

      >>> result[1]
      {'sql_name': 'abc', 'map_order': 0, 'name': 'ABC', 'type': 'string'}
      

      那么我可以通过以下方式获取这个item的值。

      >>> result[1]['sql_name']
      'abc'
      

      【讨论】:

      • 是的,我的发现是一样的,非常感谢先生
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多