utf-8编码中的Django内部化错误

时间:2018-09-26 05:45:04

标签: python django

在django中执行以下命令时遇到以下错误:

django-admin makemessages -l <​​/ p>

错误是此字符串:请通过--from-code或通过注释指定源编码           按照http://www.python.org/peps/pep-0263.html中的规定。

settings.py配置是这样的:

LANGUAGE_CODE = 'ru'

LANGUAGES = [
('en', 'English'),
('ru', 'Russian'),
]  

USE_I18N = True 

LOCALE_PATHS = [
os.path.join(BASE_DIR, 'locale')
]

我的django版本是2.1,我在Ubuntu 18.04上使用pyCharm。我做了一些研究,发现有错误,但一段时间后已得到纠正。

1 个答案:

答案 0 :(得分:0)

检查项目的虚拟环境文件夹是否位于项目的根目录中,例如:

project
  |
  |----project
  |----app1
  |----app2
  ...
  |----project_env
  |----manage.py

如果是这样,请使用以下命令:

django-admin makemessages -l en -i project_env

问题是,当您运行makemessages命令时,它将在所有子目录中查找消息,因此站点包中的库会导致此错误。通过使用-i,您可以忽略环境文件夹。

作为推荐!

实际上最好不要在项目根文件夹中包含环境文件夹,而可以添加一个requirements.txt文件并向其中添加所有项目依赖项。因此,下次激活新的虚拟环境后,您可以使用以下命令轻松地重新安装项目依赖项:

pip install -r requirements.txt

python virtual environment document会有所帮助。