(Django 2.1)我不能为静态文件提供完美的媒体文件吗?

时间:2019-07-16 12:10:13

标签: django django-rest-framework django-templates django-staticfiles django-settings

静态文件总是给我一个404错误,我看不到为什么,我复制了以前使用过的样式,但没有使用此版本的Django。

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


STATIC_URL = '/static/'
STATIC_DIR = [
    os.path.join(BASE_DIR,"static")
               ]
STATIC_ROOT = os.path.join(BASE_DIR, 'static'

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

我在整个项目期间一直在使用cdn和style标签,但现在我想将其包装起来并使用一些已经为我准备好的css / js文件。

我尝试通过python manage.py collectstatic收集静态文件,它收集了静态文件夹中的所有静态文件,但仍然没有加载它们并返回404错误

我的目录:

/Eyelizer
    /App1
    /App2
    /Eyelizer
    /static
        /css
             /main1.css
    /Eyelizer
        /css
            /wanted.css
        /js
           /wanted.js
        /images
    /templates
    /media

我们非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我认为没有 STATIC_DIR 之类的东西,但它是 STATICFILES_DIRS

在关闭括号时,您在STATIC_ROOT中犯了一个打字错误

只需删除所有静态相关内容,将以下内容放入 settings.py

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