[英]django staticfiles collection error
我在django中启动了一个新项目,并在与自定义settings.py相同的文件夹中创建了一个开发和测试环境,其设置都正常,直到创建了一个静态文件目录,并尝试收集静态文件但出现错误。 raise ImproperlyConfigured("You're using the staticfiles app " django.core.exceptions.ImproperlyConfigured: You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path.
这是我的目录
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if DEBUG:
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static", "static-only")
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static", "media")
STATICFILES_DIRS = (
os.path.join(os.path.dirname(BASE_DIR), "static", "static"),
)
test_settings.py
# -*- coding: utf-8 -*-
from .settings import *
DEBUG = True
TEMPLATE_DEBUG = DEBUG
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '',
'USER': 'postgres',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
STATIC_ROOT
应该是绝对文件系统路径:
STATIC_ROOT = os.path.abspath(os.path.join(os.path.dirname(BASE_DIR), 'static', 'static-only'))
另外,我建议将STATICFILES_DIRS
保留在BASE_DIR
内部(作为项目/存储库的一部分)而不是外部的目录中。
您应该删除/评论STATICFILES_DIRS
运行时./manage.py collectstatic
,并改变STATIC_ROOT
到STATIC_ROOT = os.path.join(BASE_DIR, 'static/static-only')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.