Python 如何在Django中实现Symfony部分或组件?

Python 如何在Django中实现Symfony部分或组件?,python,django,symfony1,Python,Django,Symfony1,我已经在Symfony框架中开发了相当长的一段时间,但是现在我必须与Django一起工作,我在Symfony中做“组件”或“部分”之类的事情时遇到了问题 也就是说,我的目标是: 我有一个有很多小部件的网页,所有这些都需要它们的逻辑——我想是位于“views.py”中。但是,我如何告诉Django调用所有这些逻辑并将其呈现为一个网页呢?听起来你要寻找的是 您可以编写自己的标记集来处理自定义逻辑并返回模板块,这些模板块可以以类似于小部件的方式重用。听起来您想要的是 您可以编写自己的标记集来处理自定义

我已经在Symfony框架中开发了相当长的一段时间,但是现在我必须与Django一起工作,我在Symfony中做“组件”或“部分”之类的事情时遇到了问题

也就是说,我的目标是:


我有一个有很多小部件的网页,所有这些都需要它们的逻辑——我想是位于“views.py”中。但是,我如何告诉Django调用所有这些逻辑并将其呈现为一个网页呢?

听起来你要寻找的是


您可以编写自己的标记集来处理自定义逻辑并返回模板块,这些模板块可以以类似于小部件的方式重用。

听起来您想要的是


您可以编写自己的标记集来处理自定义逻辑并返回模板块,这些块可以以类似于小部件的方式重用。

假设您将在不同页面的不同位置使用组件,我建议尝试{%include“foo.html”%}。Django模板语言的一个(几个)缺点是没有宏的概念,因此在传递给主模板的上下文中,需要非常一致的值名称,以便包含的模板能够找到它要查找的内容

或者,在视图中,您可以为每个组件调用模板引擎,并将结果保存在上下文中传递的值中。然后在主模板中,只需在上下文中使用该值


这两种方法我都不喜欢。您的模板越复杂,您可能越想查看Jinja2。(而且,不,我不相信Django Party关于“模板设计师”的说法——我一生中从未见过这种说法。)

假设您将在不同页面的不同位置使用组件,我建议尝试{%include“foo.html”%}。Django模板语言的一个(几个)缺点是没有宏的概念,因此在传递给主模板的上下文中,需要非常一致的值名称,以便包含的模板能够找到它要查找的内容

或者,在视图中,您可以为每个组件调用模板引擎,并将结果保存在上下文中传递的值中。然后在主模板中,只需在上下文中使用该值


这两种方法我都不喜欢。您的模板越复杂,您可能越想查看Jinja2。(而且,不,我不相信Django派对上关于“模板设计师”的台词——我一生中从未见过这样的台词。)

是的,似乎这正是Django做到这一点的方法。谢谢!看起来很奇怪,但我想这是整个“非开发人员模板”的一种效果……是的,似乎这就是Django实现这一点的确切方式。谢谢!看起来很奇怪,但我想这是整个“非开发人员模板”的结果。。。