python - 在 Heroku 上,locale.getdefaultlocale() 返回 (None, None),破坏了 Django createsuperuser——如何修复?

标签 python django heroku

尝试做一个 heroku python manage.py createsuperuser 给我一个大致结束的错误:

File "/usr/local/www/site-python/lib/django-trunk/django/contrib/auth/management/__init__.py", line 85, in get_system_username
 return getpass.getuser().decode(locale.getdefaultlocale()[1])
TypeError: decode() argument 1 must be string, not None

确认进入 shell:locale.getdefaultlocale() 在我的 Heroku Cedar 堆栈上返回 (None, None)。我如何设置语言环境以便 python 拾取它?

最佳答案

回答我自己的问题:事实证明这可以通过设置一个 heroku 配置变量来解决,这会导致 python 可以获取一个环境变量,它从 locale.getdefaultlocale() 返回可用的值。

在我的例子中,我使用的 heroku 设置是:

heroku config:add LANG=en_US.UTF-8

(当然,其他编码,尤其是语言值可能对其他人有意义。)

它解决了 createsuperuser 问题,到目前为止,其他一切都很好。 (其他报告建议用户执行 syncdb 并选择创建 super 用户,然后在某些系统上也会遇到同样的错误。)

请注意,任何此类更改都会触发您的实例重启。

关于python - 在 Heroku 上,locale.getdefaultlocale() 返回 (None, None),破坏了 Django createsuperuser——如何修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8981065/

相关文章:

python - pandas 数据框 - 索引列标题较低。为什么?

python - 试图将我的应用程序推送到 heroku 给我这个错误 FileNotFoundError : [Errno 2] No such file or directory: '/app/gettingstarted/media'

python - 如何使用 Python 扁平化 Json 文件?

python - 使用 Azure CLI 获取客户端 IP - Dockerized nginx+Flask+Gunicorn

python - 检查序列列表

css - Firebug 和 CSS 缓存不显示新的选择器

mysql - 如何解决迁移错误?

django - django开发服务器运行时,如何 curl 127.0.0.1/8000?

python - 迁移期间的 Django NodeNotFoundError

ruby-on-rails-3 - Heroku 搜索损坏 - Rails 3.1