Я использую плагин 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)
)