(Django 2.1)当媒体文件完美服务时,我无法提供静态文件?
Posted
技术标签:
【中文标题】(Django 2.1)当媒体文件完美服务时,我无法提供静态文件?【英文标题】:(Django 2.1)I can't serve static files while media files is bieng served perfectly? 【发布时间】:2019-11-25 04:07:53 【问题描述】:静态文件总是给我一个 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 和样式标签来处理这个项目,但现在我想把它包装起来并使用一些已经为我准备好的 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
感谢您的每一种帮助。
【问题讨论】:
你设置DEBUG = False
了吗?
不,我没有。
【参考方案1】:
我认为没有像 STATIC_DIR
这样的东西,但它是 STATICFILES_DIRS
。
而且您在关闭括号时在STATIC_ROOT
中犯了错字。
只需将以下内容放入 settings.py
中,删除所有与静态相关的内容即可。
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
【讨论】:
STATIC_ROOT
错字不在设置中,我想将静态文件目录命名为静态文件是什么造成了问题,我会试试的,谢谢!
@AMMARRADY,请检查它是否有效并告诉我。以上是关于(Django 2.1)当媒体文件完美服务时,我无法提供静态文件?的主要内容,如果未能解决你的问题,请参考以下文章
Django:当本地 .py 文件更改并动态加载时,有没有办法防止开发服务器重新启动?
为啥我的来自 Django 的 JSON 在大约 2.1MB 处被截断?