Django中动态加载和静态加载模块之间有什么区别吗? 它的效率如何?谁能告诉我Django中动态加载和静态加载模块机制的原理?
答案 0 :(得分:0)
首先,这是一个Python问题,而不是Django问题,因为模块是Python概念。
其次,在Python中没有静态加载这样的东西,因为它本质上是一种动态语言。
因此,在Python中加载模块总是动态的。
你唯一应该知道的是:
import
,但不推荐使用,并且导入的模块在功能范围之外不可用。最后一个选项是“动态加载”最接近的选项,因为您可以选择在运行时导入的内容。
答案 1 :(得分:0)
由于python性质,所有代码都是动态加载(==执行)。
如果仅在运行时确定模块名称,则可以使用__import__
功能:
s = "simplemodule" if use_simple else "extendedmodule"
mymodule = __import__(s)
mymodule.myfunction()
您还可以reload()
以前加载的模块(例如,如果您更改了它的源代码)。