我正在使用jsoneditor插件作为所有JSON字段的窗口小部件,但是在单击“添加另一个[模型]”按钮后添加jsoneditor窗口小部件时,这些窗口小部件会呈现和其他初始化函数,包括JS文件未正确调用/加载,因此会加载html,但功能无法正常运行。
我想知道的是如何重新加载单击“添加另一个”按钮后添加的整个jsoneditor / inline小部件。
添加和删除内联时,我成功调用了以下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)
)