gpt4 book ai didi

python - Django 中的 WordPress 小部件类型功能

转载 作者:行者123 更新时间:2023-11-30 23:53:49 30 4
gpt4 key购买 nike

过去几个月我一直在使用 django。看来,如果我需要在模板中添加一些新值,那么实现这一点的唯一方法就是直接通过 View 函数传递它,或者传递一个可以以某种方式用于检索该信息的对象。

如果我想从模板中“提取”信息怎么办?考虑以下场景。我有一个与 Application1 关联的模板“template1”。假设在此模板的一列中,我想从第二个应用程序“Application2”导入信息。目前我知道的唯一方法是使用 Application1 的 View 函数从 Application2 中提取该信息。对于每个新应用程序,我需要更改 Application1 的 View 函数。因此,如果我想继续添加来自不同应用程序(2、3、4 等)的信息,我需要继续更改 Application1 的 View 函数。这可能会变得很麻烦。

所以我想要的是类似Wordpress的小部件功能或Joomla的模块类型功能。简单的即插即用,可以从不同来源(应用程序)“提取”信息。 django 有内置的此类东西吗?

最佳答案

啊,您已经遇到了 Django(以及大多数 Python 模板框架)和 WordPress(以及大多数 PHP 框架)之间的根本区别之一。 PHP 拥有巨大的全局 namespace ,可以从页面创建过程中的几乎任何位置进行访问。另一方面,Python 则不然。我们许多人认为这是一件好事®。

但是,有时您希望在模板中使用更多的全局变量。为了实现这一点,您需要的是 context processor 。这是一个例程,它返回一个字典,每当您使用 RequestContext() 构建对模板的调用时,都会自动包含该字典。

您可能还想查看{% expr ... %} 。它可以让您摆脱故意弱化的 Django 模板引擎的“链条”。

关于python - Django 中的 WordPress 小部件类型功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5447266/

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