Heroku django 使用环境设置管理 shell (db, vars)
Posted
技术标签:
【中文标题】Heroku django 使用环境设置管理 shell (db, vars)【英文标题】:Heroku django manage shell with environment setup (db, vars) 【发布时间】:2018-11-22 07:46:10 【问题描述】:我正在尝试访问 django shell,以便为我们的员工帐户设置一些超级用户权限。通过ps:exec
的 ssh 隧道来实现这一点
我们刚搬到 heroku,并正在使用他们的自动配置(阅读:自动黑匣子)模块 import django_heroku; django_heroku.settings(locals())
来设置数据库设置。
当我打开 shell 时,那些配置设置没有运行,我收到一条错误消息
django.db.utils.OperationalError: no such table: user
基本上,我无法让 shell 实例使用 Heroku 不错的 postgres 配置器。有任何想法吗?手动查询帐户并设置一些参数的解决方法?我尝试从 Heroku 导入相同的神奇模块作为 shell 的一部分并实例化它,但它仅在 settings.py 文件中运行时才有效。
我试图不实际登录到 postgres 实例,这样我就不必打开任何 IP 范围等。
__________编辑_________
在类似的注释中,shell 似乎也无法加载 Heroku 的 env vars……那里也出现了一些问题。有没有办法在 Heroku 的环境下完全运行 shell?
【问题讨论】:
你为什么不使用heroku run manage.py shell
,它将为你设置好一切?
【参考方案1】:
您可以使用查看控制台按钮通过 Heroku 仪表板访问 Django shell。 At the corner there
这样你就可以直接访问你的 shell ( dj shell) 或 heroku 的 linux shell。
【讨论】:
【参考方案2】:你可以直接通过heroku cli运行python manage.py shell
:
heroku run python manage.py shell --app=your-app-name
【讨论】:
以上是关于Heroku django 使用环境设置管理 shell (db, vars)的主要内容,如果未能解决你的问题,请参考以下文章
sh Cookiecutter Django Heroku部署
如何让 South 在 Heroku 中为 Django 应用程序工作
在 Heroku 上找不到 Django 静态文件(带白噪声)