从 python 列表中提取值作为单独的实体
Extracting values out of a python list as individual entities
请那里的人因为我现在正在拔头发:
我想从从数据库中提取的列表中提取图片,并将它们存储在 JavaScript 数组中用于幻灯片放映。我正在使用 web2py 框架。
控制器
>`def form1Details():
form=db.compForm(request.args(0))
forms=db(db.compFormPages.formName==form.id).\
select(db.compFormPages.ALL)
return locals()
`
图像的形式多种多样,所以我想在我的视图中显示它们,这样每张图片都单独存储在一个 JavaScript 数组中,用于幻灯片放映,如下所示
VIEW
>`{{for pic in forms:}}
<script>
function slideShow()
{
images = ["{{=URL('download',args=pic.formImage)}}",
"{{=URL('download',args=pic2.formImage)}}"],
"{{=URL('download',args=pic3.formImage)}}"];
descriptions=['{{=pic.formTitle}}',
'{{=pic2.formTitle}}',
'{{=pic2.formTitle}}';
...............
...............
</script>
}`
我如何单独提取它们以实现上面视图中的内容,我可以使用我能得到的所有帮助,谢谢。
假设您的目标是一些 Javascript 代码,其中一个变量保存一个 URL 数组,另一个变量保存一个描述数组,一个简单的方法是使用 ASSIGNJS
helper,它将写入 Javascript 变量并通过将关联的 Python 数据结构转换为 JSON 来生成它们的值。所以,在视图中:
<script>
function slideShow() {
{{=ASSIGNJS(images=[URL('default', 'download', args=form.formImage)
for form in forms],
descriptions=[form.formTitle for form in forms])}}
...
}
</script>
这将产生 Javascript 像这样:
var images = ["/myapp/default/download/image1", "/myapp/default/download/image2", ...];
var descriptions = ["Title 1", "Title 2", ...]
您也可以考虑生成一个 Javascript 对象数组,其中包含每个图像的 URL 和描述:
{{=ASSIGNJS(images=[dict(url=URL('default', 'download', args=form.formImage),
description=form.formTitle)
for form in forms])}}
这将产生:
var images = [{"url": "/myapp/default/download/image1", "description": "Title 1"}, ...];
请那里的人因为我现在正在拔头发: 我想从从数据库中提取的列表中提取图片,并将它们存储在 JavaScript 数组中用于幻灯片放映。我正在使用 web2py 框架。 控制器
>`def form1Details():
form=db.compForm(request.args(0))
forms=db(db.compFormPages.formName==form.id).\
select(db.compFormPages.ALL)
return locals()
`
图像的形式多种多样,所以我想在我的视图中显示它们,这样每张图片都单独存储在一个 JavaScript 数组中,用于幻灯片放映,如下所示
VIEW
>`{{for pic in forms:}}
<script>
function slideShow()
{
images = ["{{=URL('download',args=pic.formImage)}}",
"{{=URL('download',args=pic2.formImage)}}"],
"{{=URL('download',args=pic3.formImage)}}"];
descriptions=['{{=pic.formTitle}}',
'{{=pic2.formTitle}}',
'{{=pic2.formTitle}}';
...............
...............
</script>
}`
我如何单独提取它们以实现上面视图中的内容,我可以使用我能得到的所有帮助,谢谢。
假设您的目标是一些 Javascript 代码,其中一个变量保存一个 URL 数组,另一个变量保存一个描述数组,一个简单的方法是使用 ASSIGNJS
helper,它将写入 Javascript 变量并通过将关联的 Python 数据结构转换为 JSON 来生成它们的值。所以,在视图中:
<script>
function slideShow() {
{{=ASSIGNJS(images=[URL('default', 'download', args=form.formImage)
for form in forms],
descriptions=[form.formTitle for form in forms])}}
...
}
</script>
这将产生 Javascript 像这样:
var images = ["/myapp/default/download/image1", "/myapp/default/download/image2", ...];
var descriptions = ["Title 1", "Title 2", ...]
您也可以考虑生成一个 Javascript 对象数组,其中包含每个图像的 URL 和描述:
{{=ASSIGNJS(images=[dict(url=URL('default', 'download', args=form.formImage),
description=form.formTitle)
for form in forms])}}
这将产生:
var images = [{"url": "/myapp/default/download/image1", "description": "Title 1"}, ...];