Divio Cloud(以前的 "Aldryn"):manage.py makemessages:找不到 xgettext

Divio Cloud (formerly "Aldryn"): manage.py makemessages: Can't find xgettext

如果我在 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.

作为解决方法,我已将其添加到 Dockerfile:

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

然后

docker-compose build web

目前 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)。