Django iniline widget - обновляет встроенный виджет каждый раз, когда нажимается кнопка «Добавить еще» - PullRequest
0 голосов
/ 04 июля 2018

Я использую плагин jsoneditor в качестве виджета для всех полей JSON, но когда виджет jsoneditor добавляется после нажатия кнопки «Добавить еще одну [модель]», виджеты отображаются и другие функции инициализации, включая файлы JS, не вызываются / загружаются должным образом, поэтому HTML загружается, но функциональность не работает должным образом.

Я хочу знать, как я могу перезагрузить весь jsoneditor / встроенный виджет, который добавляется после нажатия кнопки «Добавить еще».

Я успешно вызываю следующие функции JS при добавлении и удалении встроенного сообщения:

(function($) {
  $(document).on('formset:added', function(event, $row, formsetName) {
    console.log('Formset added');
  });

  $(document).on('formset:removed', function(event, $row, formsetName) {
    console.log('Formset removed');
  });
})(django.jQuery);

Но я хочу узнать из вышеупомянутого JavaScript, как мне перезагрузить добавленный виджет jsoneditor.

Вот виджет для справки:

class JSONEditorWidget(django.forms.Widget):
    template_name = 'django_json_widget.html'

    class Media:
        css = {'all': (_STATIC_URL + 'dist/jsoneditor.min.css',)}
        js = (_STATIC_URL + 'dist/jsoneditor.min.js',)

    def render(self, name, value, attrs=None, renderer=None):
        context = {
            'data': value,
            'name': name
        }

    return django_safestring.mark_safe(django_loader.render_to_string(
        self.template_name, context)
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...