我一直在尝试从我的数据库创建一个下拉菜单,其中有主要的类别和子类别。例如,动物将是主要的,狗和猫作为潜艇。我还有一个菜单的主标题,我首先设置。基本上,我不能得到正确的代码继续格式正确。在
我的数据库公司名称:
db.define_table('store_categories',
Field('maincategory', 'string'),
Field('subcategory', 'string'),
Field('description', 'text'))
在菜单.py公司名称:
^{pr2}$我的数据库是这样填充的:(我删除了其他字段上的store_类别以使其适合)
store_categories.id; .maincategory; .subcategory; .description
1 Animals Animals Main
2 Animals Dogs
4 Animals Cats
当它在没有“-1”的情况下迭代时,它显示的是一个菜单,而是一个简单的静态菜单,其中有4个条目(没有下拉菜单),但是我想要一个下拉菜单,我用这个静态地生成:
response.menu2 = [(T('Catalog'), False, '', [
(T('Animals'), False, '/beta/default/Animals', [
(T('Dogs'), False, '/beta/default/Dogs'),
(T('Cats'), False, '/beta/default/Cats'),
])
]
)]
在外壳中是这样的:
[(<lazyT 'Catalog'>,
False,
'',
[(<lazyT 'Animals'>,
False,
'/beta/default/Animals',
[(<lazyT 'Dogs'>, False, '/beta/default/Dogs'),
(<lazyT 'Cats'>, False, '/beta/default/Cats')])])]
不幸的是,无论我尝试了哪些变体,我都无法在代码中重现这一点,而且几乎所有的变体都会在web2py的票证中产生“需要解包的多个值”之类的错误。在
实际上,在shell中,我的代码会生成以下内容:
[(<lazyT 'Catalog'>, False, ''),
['Animals',
False,
'link',
[<lazyT 'Dogs'>, False, 'link'],
[<lazyT 'Cats'>, False, 'link']]]
我可以看到一些不同之处,但是我无法复制相同的结构。在回顾了web2py关于菜单的章节之后,我试图修改我的代码,但是我遵循的格式(据我所知)仍然错误。此外,我尝试手动重新创建格式,最后使用菜单.py因为即使是从书中复制/粘贴格式的例子,也会失败。我也审阅了这些文章以寻求帮助(不幸的是,大多数文章都没有定论,但我想我会先搜索一下再问任何地方):
http://article.gmane.org/gmane.comp.python.web2py/121092/match=generate+menu
在hXXp://www.web2pyslices.com/slice/show/1330/dynamic-menu在
在hXXps://groups.google.com/forum/#!搜索/web2py/menu$20generate|排序:日期|拼写:false/web2py/fbefz9vgys/O5jtwjXNYdMJ在
感谢所有人的帮助。在
奇怪的是,没有人能回答,甚至没有人建议,但我相信你们中的许多人都有类似的风格菜单。无论如何,web2py的创建者帮助了我,他提供的解决方案是:
效果很好。在
相关问题 更多 >
编程相关推荐