__init__.py
импорт нескольких модулей
s / modules / names / - синтаксис from somemodule import somename
предоставляет имя somename
, а не somemodule
.
пока они не используются в файлах.
Я предполагаю, что они могут быть наняты другими людьми, живущими в том же каталоге
На самом деле это шаблон проектирования, известный как «фасад» - пакет forms
скрывает свою внутреннюю реализацию (в которой определен субмодуль / подпакет), поэтому
1 / пользователи могут просто импортировать то, что им нужно, из django.forms
, не заботясь об иерархии базовых модулей / подпакетов,
и
2 / владельцы могут реорганизовать иерархию базовых модулей / подпакетов, не нарушая код клиента.
Как Django достиг этого?
Это не специфично для Django, это просто обычный Python. Прочитайте документацию Python о модулях и пакетах.