【发布时间】:2017-02-18 21:40:53
【问题描述】:
我的网站部署在 Heroku 上。除了静态文件,一切都很好。
这个路径上有静态文件doctor_app/doctor_app/static/。
在本地,django 的管理面板运行良好。但是在heroku上,它没有找到任何静态文件。
令人惊讶的是,当我使用终端运行此命令时。
heroku run cat doctor_app/static/admin/css/base.css
它输出base.css的内容。这意味着静态文件在那里
我想知道为什么 django 没有找到任何文件?
欲了解更多信息,这是我的settings.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
#STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'staticfiles'),
)
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
STATIC_URL = '/static/'
【问题讨论】:
-
你执行了“python manage.py collectstatic”吗?
-
是的,我做到了。 @VijeshVenugopal
-
@AdilMalik “它没有找到任何静态文件”你的意思是它们返回 404 错误吗?如果是这样,您如何链接到模板中的那些静态文件?另外,请为静态文件发布您的
settings.py变量,例如STATICFILES_DIRS等。 -
是的,我收到 404 错误。我已经编辑了这个问题。请看看@YPCrumble
-
@AdilMalik 您仍然需要显示您如何链接到模板中的这些静态文件,即,哪一段 html 正在生成 404 错误,它指向的 URL 路径是什么,以及在模板中是如何实现的?
标签: django heroku django-admin