gpt4 book ai didi

python - 我可以在 Web2Py 中包含局部 View ,将特定变量传递给它吗?

转载 作者:太空宇宙 更新时间:2023-11-03 13:22:23 25 4
gpt4 key购买 nike

我有时需要在 Web2Py 中使用部分 View ,但我需要将一些特定的变量传递给它们。在 Django 中它看起来像这样:

{% include "image.html" with caption="Me" source="http://example.com/img.png" %}

如果是 Web2Py,我可以这样做:

{{ include "image.html" }}

但在 the documentation 中甚至没有提及将变量传递给部分 View (或者我遗漏了一些非常明显的东西)。

此用例是降低 View 的复杂性(并实现 DRY 规则)并在循环中显示一些复杂的内容(例如图像、复杂的容器等)。

我不想改用自己的标签/函数 - 我需要一些快速简单的东西,只是为了包含带有特定变量的部分 View 。类似地,它可以在 Django 或许多其他 Web 框架中完成。这是可能的,还是由于 Web2Py 的架构,这是不可能的/费力的?

请告诉我这在 web2py 中是否可行,或者我是否应该创建自己的标记以在 View 中使用它(如果是这样,最简单/最简单的方法是什么?)。

谢谢。

最佳答案

Interrobang 的回答是正确的——即使在包含(以及扩展) View 中, Controller 返回的变量也将可用。所以,你可以这样做:

在 mycontroller.py 中:

def myfunc():
return dict(caption='Me', source='http://example.com/img.png')

然后在/views/mycontroller/myfunc.html 中:

{{include 'image.html'}}

在这种情况下,captionsource 将在 image.html View 中可用。不是从 Controller 返回 captionsource,另一种选择是在 include 指令之前在 View 中定义它们:

{{caption = 'Me'
source = 'http://example.com/img.png'}}
{{include 'image.html'}}

关于python - 我可以在 Web2Py 中包含局部 View ,将特定变量传递给它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9674630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com