如何在Django模板中加载模块,并使用模块名变量?

如何在Django模板中加载模块,并使用模块名变量?,django,django-templates,Django,Django Templates,我想在Django中构建一些非常类似的应用程序,但我希望它们加载不同的标记/过滤器模块。为此,我希望html模板是通用的。例如,我想要一些 {% load specific_tags %} 然后,我想在上下文处理器中为每个应用程序定义特定于变量的_标记。但Django认为,它应该在settings.py中的已安装应用程序中查找“特定的_标签”。如何让Django/Python首先从上下文处理器计算变量的内容 致以最诚挚的问候为什么不干脆将这些值放在设置文件中,这就是我区分开发、测试、演示和生产

我想在Django中构建一些非常类似的应用程序,但我希望它们加载不同的标记/过滤器模块。为此,我希望html模板是通用的。例如,我想要一些

{% load specific_tags %}
然后,我想在上下文处理器中为每个应用程序定义特定于变量的_标记。但Django认为,它应该在settings.py中的已安装应用程序中查找“特定的_标签”。如何让Django/Python首先从上下文处理器计算变量的内容


致以最诚挚的问候

为什么不干脆将这些值放在设置文件中,这就是我区分开发、测试、演示和生产环境的方式,以及使用此处找到的解决方案之一将这些值加载到模板中:


我不确定我是否完全理解你。假设我有三个应用程序A、B和C。为了有一个易于维护的代码,我想使用相同的html模板,但实际上它们内部必须有一些差异,比如不同的路径等等。因此,我想在其中包含变量,这些变量将根据当前视图中的应用程序进行替换。为此,我想使用不同的过滤器。但我甚至希望在每个模板文件中都有相同的过滤器名称作为变量,这样模板文件就可以完全相同。类似地,您可以创建名为fro example text.py的新文件,并将所有变量放在那里,并将其包含在代码中。然后你可以在模板中使用它。我不认为需要在这里创建过滤器。好的,我会有一个文本文件,比如text.py或variables.py或类似的东西。在它里面,我会有一些像varpath1='/yada/'varpath2='/foo/'varpath3='/bar'的东西,但是在模板中,我总是希望有一些像varpath的东西,而不是varpath1/2/3。然后我如何告诉模板用text.py或variables.py中相应的var替换varpath?如果我很了解您,您正在制作多个应用程序,但希望使用相同的模板,对吗?因此,如果是这种情况,您将在app1的variables.py中使用varpath='something\u app1',在app2的variables.py中使用相同的varpath=“something\u app2”。在模板中,您将始终使用varpath。这是您希望实现的吗?是的,这就是想法。