Как создать приложение django, для работы которого требуется определенный модуль? - PullRequest
0 голосов
/ 07 марта 2011

У меня есть приложение, которое требует, чтобы у пользователя была определенная структура каталогов, очень похожая на django с шаблонами, и я хотел бы знать, как мне импортировать приложение с именем foo из проекта django во время выполнения?
Более тогоесли приложение существует, как мне импортировать определенный модуль приложения foo?

1 Ответ

2 голосов
/ 07 марта 2011

Я думаю, что ваш вопрос требует нескольких уточняющих деталей.На данный момент это выглядит так же просто, как размещение приложения (вы имеете в виду приложение django?) В вашем pythonpath (например, внутри каталога проекта):

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 (который использует __import__)

...