fox_12
@fox_12
Расставляю биты, управляю заряженными частицами

Как правильно спроектировать пользовательский виджет в Django?

Столкнулся с проблемкой при написании виджетов. Поясню на примере. Есть некий селектор цвета для полей. Я добавляю несколько таких селекторов в форме. Каждый инициализирую таким кусочком кода:
...
$('#id_color_selector1').colorselector();
$('#id_color_selector2').colorselector();
$('#id_color_selector3').colorselector();
...

Обычно я пишу кусок кода в отдельном файле с расширением .js и подключаю его через класс Media.

...
    class Media:
        js = (
            '/static/colorwidget/js/my_color_widget.js',
        )
...

Тут я сталкиваюсь с двумя проблемами:
Во-первых - добавляя виджет, я должен всякий раз лезть в файл *.js и дописывать практически повторяющийся код для инициализации виджета.
Во-вторых - порядок загрузки файлов. Мне например надо чтобы скрипт виджета в стандартной админке грузился в конце страницы, а не в начале, иначе мой виджет не отрабатывает. Сейчас я просто копирую и правлю стандартные темплейты, что также не очень удобно....
Таким образом, добавляя еще один виджет, нужно править несколько файлов и захламлять проект повторяющимся кодом, что не есть хорошо. Кто может подсказать более гибкое решение? Заранее спасибо.
По сути нужна автоматическая генерация кода javascript для каждого добавляемого виджета с возможностью указания порядка его загрузки в темплейте.
  • Вопрос задан
  • 206 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы