Django和Heroku:compilemessages工作,但是我的翻译文件不工作。

2024-04-23 13:51:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我发现自己的处境很奇怪:

  1. 我没有将.mo文件提交到我的repo中。我计划在部署后生成它们
  2. 我在https://github.com/piotras/heroku-buildpack-gettext.git安装了gettext构建包

以下是我所做的步骤:

  1. 部署到heroku。在
  2. 运行heroku run python manage,py compilemessages
  3. 正在输出:

    正在处理文件django.po公司在/app/.heroku/python/lib/python3.6/site-packages/django/contrib/redirects/locale/ru/LC峎MESSAGES中

    正在处理文件django.po公司在/app/.heroku/python/lib/python3.6/site-packages/django/contrib/redirects/locale/cy/LC\u消息中

    正在处理文件django.po公司in/app/prometheus/locale/zh\u hans/LC\u消息

    正在处理文件django.po公司在/app/.heroku/python/lib/python3.6/site-packages/django/contrib/gis/locale/sk/LC\u消息中

  4. 列出其中一个文件:heroku run ls /app/.heroku/python/lib/python3.6/site-packages/django/contrib/redirects/locale/zh_Hans/LC_MESSAGES结果:django.mo django.po

  5. 列出我们的文件:heroku run ls /app/prometheus/locale/zh_hans/LC_MESSAGES/ 结果:django.po

在django.mo公司丢失。

我运行python manage.py shell来查看是否有一些变量出错:

heroku run python manage.py shell
In [1]: from django from django.conf import settings
In [3]: print(settings.BASE_DIR)
/app/prometheus
In [4]: print(settings.LOCALE_PATHS)
('/app/prometheus/locale',)

所以我不知道为什么django.mo公司未生成文件。在

你猜到了吗?在


Tags: 文件djangorunappherokulibpackagessite
1条回答
网友
1楼 · 发布于 2024-04-23 13:51:43

日间;夜间:Django.mo公司生成然后删除。在

我也遇到了同样的情况,我试图用

$ heroku run django-admin compilemessages
$ heroku run ls locale/LANG/LC_MESSAGES/
django.po

我不想等待连接到Heroku的每一个命令和使用

^{pr2}$

结果是,django.mo公司已创建,但由于某些原因它会立即被删除。在

google这给了Heroku帮助-页面Why are my file uploads missing/deleted?

The Heroku filesystem is ephemeral - that means that any changes to the filesystem whilst the dyno is running only last until that dyno is shut down or restarted. Each dyno boots with a clean copy of the filesystem from the most recent deploy.

发生的是

heroku run COMMAND

启动一个新的dyno,运行其中的命令,并在命令退出后关闭dyno,这样命令创建的所有文件都将被删除。在

据我所知,选择是将.mo文件提交到repo,或者从存储中提供它们,for example S3。在

相关问题 更多 >