如何创建一个需要特定模块运行的django应用程序?

时间:2011-03-07 01:43:36

标签: django django-apps

我有一个应用程序,要求用户拥有一个特定的目录结构,就像django对模板标签一样,我想知道的是如何在运行时从django项目导入名为foo的应用程序?
此外,如果应用程序存在,如何导入应用程序foo的特定模块?

1 个答案:

答案 0 :(得分:2)

我认为您的问题需要一些澄清细节。目前看起来就像在python路径上放置应用程序(你的意思是django应用程序吗?)一样简单(例如在项目目录中):

try:
    import foo
except ImportError:
    pass # application mustn't be on pythonpath
else:
    from foo import specific_module
    # do stuff

根据您的要求,此代码可以在视图中,甚至可以在项目__init__.py中,如果您希望它很早发生的话。 django启动过程的改进即将推出 - 密切关注startup.py功能。

如果您需要导入具有动态名称的模块,您可能需要查看__import__

你在django中也有一个名为django.utils.importlib.import_module的helper方法(使用__import__