首页 > 解决方案 > 无法在 Django 管理主页中加载自定义 JS 文件

问题描述

我正在尝试在我的 django 管理员中添加自定义 css 和 js。但是 CSS 可以工作,但 js 不能工作。我检查了我的代码。我认为我的代码没有任何错误。

我的admin.py

from django.contrib import admin
from .models import Blog

# Register your models here.


class BlogAdmin(admin.ModelAdmin):
    class Media:
        css = {
            "all": ('css/main.css',)

        }
        JS = ('js/blog.js',)
admin.site.register(Blog, BlogAdmin)

我的blog.js

console.log("This is blog.js");
let sc = document.createElement('script')
sc.setAttribute('src', 'https://cdn.tiny.cloud/1/no-api-key/tinymce/5/tinymce.min.js')


document.head.appendChild(sc);



document.addEventListener("DOMContentLoaded", function (event) {
    console.log("This is blog.js");
    let sc = document.createElement('script')
    sc.setAttribute('src', 'https://cdn.tiny.cloud/1/no-api-key/tinymce/5/tinymce.min.js')


    document.head.appendChild(sc);
    sc.onload = ()=>{
        tinymce.init({
            selector: '#id_content'
        });
    }


});

在 js 的第一行我写了一段代码console.log("This is blog.js");。但是在检查页面时,我没有在控制台中看到“This is blog.js”。这意味着我的 js 没有在 Django 管理中加载。请调查这个问题。提前致谢。

标签: javascriptdjangotinymce

解决方案


静态文件管理是否正确完成?

  • 您的 settings.py 文件中是否定义了aSTATIC_URL和 aSTATIC_ROOT
  • 另外,您是否正确设置了服务器以传递静态文件?
  • 最后,如果您已完成所有操作,请检查是否在更改原始文件而不是运行命令后创建的文件时发生更改python3 manage.py collectstatic

推荐阅读