STATICFILES_DIRS 尝试迁移表时出错 - django heroku
STATICFILES_DIRS error when trying to migrate tables - django heroku
我已经花了 2 天的时间在 Heroku 上启动我的项目了 ost!解决了很多问题,但现在由于静态文件错误,我似乎无法迁移新数据库。我在网站上的所有页面都在运行,除了一个页面,我收到了 500 错误。我打开调试以查看发生了什么,它需要迁移新数据库。
我运行命令
heroku run python manage.py migrate
但出现以下错误:
SystemCheckError: System check identified some issues:
ERRORS:
?: (staticfiles.E002) The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting.
这是我的相关基本设置文件:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(os.path.join(__file__, os.pardir))))
STATIC_URL = '/static/'
# STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
和我的产品 settings:import os
from .base import *
import dj_database_url
DEBUG = True
ADMINS = [
('name', 'email')
]
try:
SECRET_KEY = os.getenv('SECRET_KEY')
except:
print("Error getting key")
ALLOWED_HOSTS = ['*']
DATABASES = {
'default': {
}
}
db_from_env = dj_database_url.config(conn_max_age=600)
DATABASES['default'].update(db_from_env)
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
如有任何帮助,我们将不胜感激!!让网站甚至能够使用静态文件进行部署一直是一个巨大的痛苦,现在我已经有了它,我不能因为它迁移我的数据库!谢谢!
您可以删除这些行:
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
STATICFILES_DIRS
用于 STATIC_ROOT
之外的其他目录。您的 STATIC_ROOT
和 STATICFILES_DIRS
中的内容完全相同,因此不需要后者。删除它应该可以解决您的问题。
我也遇到过这种情况!
要解决,在路径中添加斜杠(/
):
STATICFILES_DIRS = [os.path.join(BASE_DIR, '/static/')]
效果很好!
我已经花了 2 天的时间在 Heroku 上启动我的项目了 ost!解决了很多问题,但现在由于静态文件错误,我似乎无法迁移新数据库。我在网站上的所有页面都在运行,除了一个页面,我收到了 500 错误。我打开调试以查看发生了什么,它需要迁移新数据库。
我运行命令
heroku run python manage.py migrate
但出现以下错误:
SystemCheckError: System check identified some issues:
ERRORS:
?: (staticfiles.E002) The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting.
这是我的相关基本设置文件:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(os.path.join(__file__, os.pardir))))
STATIC_URL = '/static/'
# STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
和我的产品 settings:import os
from .base import *
import dj_database_url
DEBUG = True
ADMINS = [
('name', 'email')
]
try:
SECRET_KEY = os.getenv('SECRET_KEY')
except:
print("Error getting key")
ALLOWED_HOSTS = ['*']
DATABASES = {
'default': {
}
}
db_from_env = dj_database_url.config(conn_max_age=600)
DATABASES['default'].update(db_from_env)
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
如有任何帮助,我们将不胜感激!!让网站甚至能够使用静态文件进行部署一直是一个巨大的痛苦,现在我已经有了它,我不能因为它迁移我的数据库!谢谢!
您可以删除这些行:
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
STATICFILES_DIRS
用于 STATIC_ROOT
之外的其他目录。您的 STATIC_ROOT
和 STATICFILES_DIRS
中的内容完全相同,因此不需要后者。删除它应该可以解决您的问题。
我也遇到过这种情况!
要解决,在路径中添加斜杠(/
):
STATICFILES_DIRS = [os.path.join(BASE_DIR, '/static/')]
效果很好!