如何解决Heroku django3.2 部署损坏的 /admin 菜单,除 /admin 外,所有路由都适用于普通用户,CollectStatic 不适用于 heroku-live
我已经看过/调试/引用了多个博客和 Stackoverflow 的答案,并尝试了几乎所有,但我无法看到具有正确 UI 的管理仪表板,因为未加载静态文件(此处为 CSS)。
我的项目结构是主项目是 bookMyTicket
,我创建的模型/子应用程序是 bookings
。
我在这里有一个 git 存储库,该项目在本地运行良好,使用 Postgres,甚至在实时服务器上,除了 /admin
菜单。
对于用户来说,实时应用可以正常工作:
Github-link,Running demo Locally
我确实设置了正确的静态文件,然后先检查了 heroku local
并遇到了同样的问题。
所以,我确实运行了 python manage.py collect static
,它在 staticfiles
目录中创建了大约 130 多个 CSS 文件,以使其在本地为 /admin
工作,
我尝试使用命令在现场做同样的事情:
heroku run python bookMyTicket/manage.py collectstatic
但它给出了错误:
FileNotFoundError: [Errno 2] No such file or directory: '/app/bookMyTicket/static'
我尝试在中间件列表中添加白噪声:
'whitenoise.middleware.WhiteNoiseMiddleware'
数据库配置为:
DATABASES = {
'default': {
"ENGINE": "django.db.backends.postgresql",'NAME': '','USER': '','PASSWORD': '','HOST': '','PORT': ''
}
}
import dj_database_url
db_from_env = dj_database_url.config(conn_max_age=600)
DATABASES['default'].update(db_from_env)
我也声明了静态根和静态 url。
STATIC_ROOT = os.path.normpath(os.path.join(BASE_DIR,'staticfiles'))
STATIC_URL = '/static/'
MEDIA_URL = '/images/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static')
]
ProcFile 也工作正常,因为所有路由对于普通用户(非管理员)都可以很好地工作,它包含:
web: gunicorn --pythonpath bookMyTicket bookMyTicket.wsgi --log-file -
requirements.txt 也正确地给出为:
asgiref==3.3.4
django-filter==2.4.0
Django==3.2
docutils==0.12
python-dateutil==2.5.3
six==1.12.0
urllib3==1.25.9
dj-database-url==0.5.0
psycopg2==2.8.5
whitenoise==5.2.0
我尝试理解日志,但无法通过命令 heroku logs --tail
Logs 为 css 文件显示 404
,
如何查看 /admin
的正确加载 css 的超级用户菜单?
链接:
-
Live 已在 heroku 上部署工作应用程序,适用于所有用户,但不适用于
/admin
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。