1

如果我在 Divio Cloud(以前称为“Aldryn”)项目中执行以下操作:

docker-compose run --rm web python manage.py makemessages

我得到:

CommandError: Can't find xgettext. Make sure you have GNU gettext tools 0.15 or newer installed.

  • 运行 `manage.py makemessages 是在 Divio Cloud 上创建/更新消息文件的正确方法吗?

作为一种解决方法,我已将此添加到Dockerfile

# add gettext for manage.py makemessages RUN apt-get update && apt-get install -y gettext

接着

docker-compose build web

  • 此外,.mo 文件会在 Divio Cloud 部署中编译还是必须预编译它们?
4

1 回答 1

4

目前 Aldryn 不支持为您生成 .mo 文件。在等待 Aldryn 本身为此提供开箱即用的支持时,您可以通过编辑 Dockerfile 来解决此问题,就像您已经做过的那样:

1)在顶部,就在 之前# <DOCKER_BUILD>,添加以下命令(正如您已经指出的那样):

# add gettext for manage.py makemessages 
RUN apt-get update && apt-get install -y gettext && apt-get clean && rm -rf /var/lib/apt/lists/*

2) 在底部,就在 之后# </DOCKER_BUILD>,添加以下命令:

# compile the messages
RUN DJANGO_MODE=build python manage.py compilemessages

编辑:如果您使用的是 baseproject>=3.13.1,则不再需要步骤 1)。

于 2016-05-06T08:13:13.033 回答