JavaScript 在 Django 中找不到

JavaScript not found in Django

我正在尝试在我的 Django 项目中使用 JavaScript。我在我的应用程序中创建了一个静态文件夹,其中包含 css 和 js 文件夹,虽然我的 css 正在工作,但我的 js 文件却没有。任何帮助都会很棒,谢谢。

HTML:

{% load static %}

<link rel="stylesheet" href="/static/css/style.css?{% now "U" %}"/>


<script type="module" src={% static "javascript/app.js" %}></script>

settings.py:

BASE_DIR = Path(__file__).resolve(strict=True).parent.parent

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'musicPlayer',
]

STATIC_URL = '/static/'


STATICFILES_DIRS = [
    BASE_DIR / "static",
    'musicPlayer/static/javascript/app.js',
]

你需要给STATICFILE_DIRS设置一个静态目录不是完整路径:

BASE_DIR = Path(__file__).resolve(strict=True).parent.parent
MUSIC_PLAYER_DIR = BASE_DIR / 'musicPlayer'

STATICFILES_DIRS = [
    BASE_DIR / 'static',
    MUSIC_PLAYER_DIR / 'static',
]

并且在您的模板中,您需要在 static 标记两边加上双引号,在标记内加上单引号:

{% load static %}
<link rel="stylesheet" href="{% static 'css/style.css' %}?{% now 'U' %}"/>

<script type="text/javascript" src="{% static 'javascript/app.js' %}"></script>

附带说明一下,我以前从未在脚本标签上看到 type="module",所以我不确定这是否可行。一般是 type="text/javascript"