【发布时间】:2010-11-03 21:28:53
【问题描述】:
我在 Python 领域的第一天是一名 PHP 人,试图将一个 php 网站转换为 python(学习经验),但我正在寻求建议。我从没想过使用多维数组或字典会如此困难,就像你们 Python 人所说的那样。
所以我可以使用this 创建多维数组,但我不能在 django 模板中循环它。 this 不起作用,但我想如果我能让它工作,我无法循环通过它。
{% for key,val in dictionary.items %}
似乎只适用于实际字典,而不适用于自定义多维字典类。
我正在从 sql 查询创建我的字典:
vid[ video[ 7 ] ][ 'cat_short_name' ] = video[ 2 ]
vid[ video[ 7 ] ][ 'cat_name' ] = video[ 1 ]
vid[ video[ 7 ] ][ 'cat_id' ] = video[ 7 ]
vid[ video[ 7 ] ][ 'companies' ][ video[ 14 ] ][ 'comp_short_name' ] = video[ 5 ]
vid[ video[ 7 ] ][ 'companies' ][ video[ 14 ] ][ 'comp_name' ] = video[ 4 ]
vid[ video[ 7 ] ][ 'companies' ][ video[ 14 ] ][ 'comp_website' ] = video[ 6 ]
vid[ video[ 7 ] ][ 'companies' ][ video[ 14 ] ][ 'videos' ][ video[ 8 ] ][ 'top_video' ] = 0
vid[ video[ 7 ] ][ 'companies' ][ video[ 14 ] ][ 'videos' ][ video[ 8 ] ][ 'vid_id' ] = video[ 8 ]
vid[ video[ 7 ] ][ 'companies' ][ video[ 14 ] ][ 'videos' ][ video[ 8 ] ][ 'vid_name' ] = video[ 9 ]
vid[ video[ 7 ] ][ 'companies' ][ video[ 14 ] ][ 'videos' ][ video[ 8 ] ][ 'vid_url' ] = video[ 10 ]
我基本上需要获取某个类别中的所有公司,然后获取该公司中的所有视频,以便我可以轻松地将它们嵌套在我的模板中。这就是我在 php 中的做法,创建了一个巨大的深度数组。尝试在 Python 中复制已被证明是困难的。
我想也许我可以使用 set_MODEL 在 django 中进行向后查找,但我也想不通。
任何有关如何实现我的目标的帮助将不胜感激。我希望我的问题很清楚
编辑:
当我在我的模板中循环完成后,它看起来像这样......
<h1>Category</h1>
<h2>Company</h2>
<ul>
<li>video</li>
</ul>
<h2>Company</h2>
<ul>
<li>video</li>
<li>video</li>
</ul>
<h1>Category</h1>
<h2>Company</h2>
<ul>
<li>video</li>
</ul>
<h2>Company</h2>
<ul>
<li>video</li>
<li>video</li>
</ul>
【问题讨论】:
-
您在编辑中显示的内容是您所说的,还是您希望它看起来的样子?就上述复杂的 Python 代码而言,您拥有的类别、公司和视频是什么?
-
对不起,我希望它看起来像什么。我将编辑代码以使其更易于阅读。
标签: python django django-models dictionary django-templates