Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
{% load "foo_tags" %}, то вероятность 92.64%, что боролись с семантикой импортов (либо это cargo-cult, оставшийся от какой-то библиотеки, боровшейся с семантикой импортов). from __future__ import absolute_imports
В случае возникновения подобных коллизий имен возможны следующие решения:
- Переименовать модуль, либо пакет таким образом, чтобы имя пакета не совпадало с именем модуля, т.е. исключить совпадение имен
- Иногда может помочь включение абсолютных путей по умолчанию для импорта с помощью инструкции from __future__ import absolute_import (на самом деле в этом случае, лишь повышается контроль за последовательностью поиска пакетов и модулей путем внесения изменений в sys.path)
plugins.py - файл_с__import__
admin/__init__.py - ясно
admin/show.py - файл с импортом плагинов
admin/submodules/__init__.py - пэкэдж
admin/submodules/billing.py - файл что надо импортнуть
for i in ['admin.show','test.test']:
__import__(i)
import submodules
for i in submodules.__all__:
__import__('submodules.'+i)
О порядке поиска пакетов и модулей для импорта в Python