Django:所有静态文件 404(但 findstatic 能够找到它们)

Django: All Static Files 404 (but findstatic is able to locate them)

我刚刚开始一个新的 Django 项目并添加到我的静态文件中以尝试加载我的模板。

但是,每当我加载模板时,我的所有静态文件都会给我一个 404 错误。

不过,当我使用 findstatic 时,它是成功的:

(AlmondKing) C:\Projects\AlmondKing>python manage.py findstatic images/logo.png  --verbosity 2

Found 'images/logo.png' here:
  C:\Projects\AlmondKing\AlmondKing\InventoryLogs\static\images\logo.png
  C:\Projects\AlmondKing\AlmondKing\FinancialLogs\static\images\logo.png
Looking in the following locations:
  C:\Projects\AlmondKing\AlmondKing\static
  C:\Users\Adam\Envs\AlmondKing\lib\site-packages\django\contrib\admin\static
  C:\Projects\AlmondKing\AlmondKing\InventoryLogs\static
  C:\Projects\AlmondKing\AlmondKing\FinancialLogs\static

这让我很难过。我试过将静态文件放在所有相关位置,但它不会通过运行服务器获取它们。关于罪魁祸首可能是什么有什么想法吗?

我的设置:

BASE_DIR = os.path.dirname(os.path.abspath(__file__))

DEBUG = True

ALLOWED_HOSTS = []

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'AlmondKing.InventoryLogs',
    'AlmondKing.FinancialLogs',
)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)

我怀疑你需要

$ manage.py collectstatic 

..

您还需要设置 STATIC_ROOT

感谢 chem1st 的提示,我将模板转换为当前模板中的 {% loadstatic %} 语法 recommended in the docs

现在正在运行。