Closed petrikoz closed 9 years ago
Repository health increased by 0.13% when pulling bf58197 on petrikoz:feature/custom-htmlfield into 8151a37 on LPgenerator:development.
Теперь совсем не обязательно, чтобы батарейка, из которой берётся поле, была в INSTALLED_APPS.
я немного не соглашусь с данным утверждением. сторонние батарейки не просто так добавляются в INSTALLED_APPS. вот мысль дать человеку выбор, а не приковывать гвоздями его к ckeditor и tinymce верна. правда теряется простота подключения. то есть надо еще прописывать в переменную. в таком случае надо добавлять записи в документацию и в ридми, что бы разработчики могли сразу сообразить что произошло. ведь теряется обратная совместимость. но вот реализация импорта мне не очень нравится. в проекте везде используется конструкция вида:
from django.utils.importlib import import_module
можно было бы просто оставить версию для dj14, а так же вынести данную функцию в utils.py, убрав из init.py. ну и конечно же провести небольшой рефакторинг. так как import_module в dj19 уже будет недоступен. значит можно было бы везде где динамический импорт сделать правки, и вместо import_module использовать import_by_string. тогда уже появляется некое единобразное решение одной проблемы. ps - спасибо что нашли время и вносите свой вклад.
Может добавить задачу по рефакторингу? Ну и кто закроет, тот молодец. Просто я не уверен, что у меня в ближайшие дни будет время.
В целом мой код поддерживает последнюю версию Django. А костыли именно для 1.4 наваяты.
Тьфу, закрыл случайно.
в итоге видимо самому делать придется)
Пользуюсь Вашим проектом и решил немного его улучшить.
Вместо кучи блоков try/except в фале fields.py для всех мыслимых пользовательских HTML-полей для модели, я запилил импорт по строке вида 'app.fields.MyCustomModelHTMLField'.
Теперь совсем не обязательно, чтобы батарейка, из которой берётся поле, была в INSTALLED_APPS. Достаточно, чтобы она просто была в доступна для импорта.