我有时需要在Web2Py中使用部分视图,但是我需要向它们传递一些特定的变量。在Django,它看起来像这样:
{% include "image.html" with caption="Me" source="http://example.com/img.png" %}
对于Web2Py,我可以做一些类似的事情:
^{pr2}$但是甚至没有提到将变量传递给the documentation内的部分视图(或者我遗漏了一些非常明显的内容)。在
这样做的用例是降低视图的复杂性(并实现DRY rule),并在循环中显示一些复杂的内容(如图像、复杂容器等)。在
我不想使用我自己的标记/函数-我需要一些快速而简单的方法,只需包含带有特定变量的局部视图。类似地,它可以在Django或其他许多web框架中实现。这是可能的吗?还是因为Web2Py的架构,这是不可能的/费力的?在
请告诉我这在web2py中是否可行,或者我是否应该创建自己的标记在视图中使用它(如果是的话,最简单/最简单的方法是什么?)。在
谢谢。在
来自the book:
除非我误解了你的问题,否则你不必专门传递变量,只需像平常一样使用它们。在
Interrobang的答案是控制器返回的正确变量即使在包含的(以及扩展的)视图中也是可用的。所以,你可以:
在我的控制器.py公司名称:
然后在/views/mycontroller中/myfunc.html公司名称:
^{pr2}$在这种情况下,}将在图像.html查看。与从控制器返回
caption
和{caption
和source
不同,另一个选项只是在include
指令之前的视图中定义它们:为了详细说明安东尼的答案, 如果需要传递给视图的其他变量,只需在返回dict中包含它们。 在我当前的项目中,我传递了一大堆要在视图中使用的变量。在
另外,如果您需要访问web中多个视图中的某些值,可以将它们存储在会话中。在
^{pr2}$然后在视图中访问它:
相关问题 更多 >
编程相关推荐