Я вставляю два сценария в Djna go Admin следующим образом:
class TutorialAdmin(admin.ModelAdmin):
class Media:
js = (
'tutorials/js/ckeditor.js',
'tutorials/js/custom.js',
)
formfield_overrides = {
models.TextField: {'widget': Textarea(
attrs={'id': 'custom_textarea'})}
}
Обратите внимание на formfield_overrides
, где я добавляю теги id custom_textarea
в textarea
, чтобы я мог получить их позже через javascript.
Если мы посмотрим на мой custom.js
файл:
ClassicEditor
.create( document.querySelector( '#custom_textarea' ) )
.catch( error => {
console.error( error );
} );
Это файл, который получает элемент с идентификатором custom_textarea
.
Но проблема в том, что эти файлы добавляются в тег head
, поэтому они запускаются, как только страница загружается (до отображения textarea
).
Я получаю следующую ошибку в Chrome console:
TypeError: Cannot read property 'appendChild' of null
Есть ли способ дать команду Django ввести custom.js
непосредственно перед закрывающим тегом body
? Я знаю решение, позволяющее редактировать свое приложение base.html
в admin
. Но мне интересно, есть ли Django Way
таких действий!
Спасибо.