我在Django中有一个现有的应用程序。 我想在页面上添加翻译。 在页面上我有:
{% trans 'Projects'%}
在.po文件中我添加了:
#: templates/staff/site.html: 200
msgid "Projects"
msgid "Projekty"
然后执行命令:
django-admin.py compilemessages -l pl
执行此命令后,出现错误:
CommandError: This Should Be Run script from the Django Git checkout or your project or app tree, or with the settings Specified module.
答案 0 :(得分:8)
[11:08:21] sobolev :: MacBook-Pro-Nikita➜ Documents / PyCharmProjects / nsp
»python manage.py compilemessages --settings nsp.settings2↵CommandError:这个 脚本应该从Django Git结账或您的项目或运行 应用树或指定的设置模块。
我确实在项目根文件夹中时遇到此错误。
问题是,我首先运行此命令时没有python manage.py makemessages
。
错误消息具有误导性。
答案 1 :(得分:3)
错误包含答案,您可以从任何地方运行脚本,因此无法知道要编译的文件。从项目目录运行命令或指定设置,你应该没问题。
答案 2 :(得分:2)
如果您使用docker容器构建和部署应用程序,则应复制文件夹:
conf/
。 使用conf文件夹,您应该看到:
processing file django.po in /gamma/conf/locale/en/LC_MESSAGES
processing file django.po in /gamma/conf/locale/es/LC_MESSAGES
processing file django.po in /gamma/conf/locale/pt_BR/
没有conf文件夹,您应该会看到这样的无提示消息:
CommandError: This script should be run from the Django Git checkout or your project or app tree, or with the settings module specified.
答案 3 :(得分:0)
如果尚未在设置文件中设置LOCALE_PATHS
,则需要这样做:
import os
LOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')]
答案 4 :(得分:0)
错误消息说它找不到预期的翻译文件。检查一切是否正确设置:
LOCALE_PATHS
在 settings.py 中定义python manage.py makemessages
创建)
compilemessages
命令