django国际化的简单设置
设置国际化的具体步骤:
一、国际化
1)效果:针对不同的国家的人可以配置不同的语言(一般是英文和中文, English Chinese)
2)目的:增加项目的用户量
3)难度:不难 比较费劲的就是翻译
二、步骤
1)安装gettext这个工具,搜索这个安装包下载地址http://www.gnu.org/software/gettext/下载之后安装即可
2)测试是否安装成功
打开终端 输入 gettext --version 如果成功应该会提示

如果提示'不是内部或外部命令',需要手动添加环境变量
3)配置项目 在settings.py中
1. 找到settings.py,在MiddleWare中添加一句
'django.middleware.locale.LocaleMiddleware',
2. 在配置文件中添加要国际化的语言
LANGUAGES = (
('en-us', ('英文')),
('zh-hans', (u"中文")),
)
3. 配置国际化文件的路径
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
4. 配置模板上下文,在'context_processors'下面添加
'django.template.context_processors.i18n',
4) 开始国际化
1. 在需要国际化的地方导入一个包
from django.utils.translation import gettext_lazy as _
2. 在需要国际化的地方使用 _()进行国际化
例如 _(u"登录")
3. 如果网页中也有中文, 前端/网页需要配置网页前面加载一个i18n
{% load i18n %}
修改中文的部分为
<h1>{{ _('欢迎登录') }}</h1> 或 <h1>{% trans '欢迎登录' %}</h1> 两个写法等价
5) 生成国际化文件(注意:如果语言中是横岗,要改为下划线)
在 django 下方的 Terminal 中输入
#生成英文
python manage.py makemessages -l en_us
#生成中文
python manage.py makemessages -l zh_hans
如果提示 'make sure you have GNU gettext tools 0.15 or newer ***', 就关掉pycharm重新打开
项目中应该会生成一个locale文件夹,里面有对应的文件打开里面的 ****.po 文件,对里面的内容进行翻译
6) 翻译完毕以后对po文件进行编译,否则没法国际化
python manage.py compilemessages
按照以上步骤执行就完成了
django国际化的简单设置的更多相关文章
- Django简单设置cookies和session
一.Cookie cookie及特点 Cookie是由服务器(网站)生成的,存储在浏览器端的 键值对数据(通常经过加密) 在响应请求时,服务器会把生成 Cookie数据 发给浏览器,浏览器会自动保存( ...
- Python学习笔记23:Django构建一个简单的博客网站(一个)
在说如何下载和安装Django,本节将重点讨论如何使用Django站点. 一 新建project 命令:django-admin startproject mysite # 有的须要输入:django ...
- 用django创建一个简单的sns
用django创建一个简单的sns 1.首先创建一个工程newsns django-admin.py startproject newsns 在工程目录下新建一个文件夹templates,在该文件夹下 ...
- django初探-创建简单的博客系统
django第一步 1. django安装 pip install django print(django.get_version()) 查看django版本 2. 创建项目 打开cmd,进入指定目录 ...
- django初探-创建简单的博客系统(二)
上篇django初探-创建简单的博客系统(一)已经记录了Django实现博客的发布的整个过程,接下来继续说明博客标题和内容的显示. 显示博客详细 将博客内容保存到数据库还不是发布博客的终极目的,博客一 ...
- Django的认证系统和Django admin的简单使用
Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...
- django系列6--Ajax04 请求设置(设置csrf_token)
Ajax请求设置csrf_token 官方文档 csrf_token: https://docs.djangoproject.com/en/1.11/ref/csrf/ CSRF 跨站请求攻击,简单地 ...
- django初探-创建简单的博客系统(一)
django第一步 1. django安装 pip install django print(django.get_version()) 查看django版本 2. 创建项目 打开cmd,进入指定目录 ...
- 使用Django快速搭建简单的数据管理后台
使用Django快速搭建简单的数据管理后台 概述 需求描述: 数据表已建好,能可视化操作增删改查,避免直接操作数据库 简版的管理系统 环境 Windows 10 x64 Python 3.6.3 (A ...
随机推荐
- 最新 巨人网络java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.巨人网络等10家互联网公司的校招Offer,因为某些自身原因最终选择了巨人网络.6.7月主要是做系统复习.项目复盘.Leet ...
- fastadmin添加定时任务
安装定时任务插件后 需要在crontab -e 中添加一条记录 * * * * * /usr/bin/php /var/www/yoursitepath/public/index.php /addon ...
- PYTHON 100days学习笔记008-3:输入和输出
目录 Day008-03:Python3 输入和输出 1.输出格式美化 1.1 str.format()用法 1.2 旧式字符串格式化 2.读取键盘输入 3.读和写文件 4.文件对象的方法 4.1 f ...
- segi日期计算笔记
计算月末最后一天 /* * 输入年月格式YM(如:201911),输入该月最后一天 */ int monthEndDay(int YM) { int endDay; ; ; == M) { == Y ...
- UWP笔记-使用FFmpeg编解码
在开发UWP媒体应用的时候,使用的MediaElement可以支持主流的格式,不过还是有些格式本地编解码器是不支持的,如.flv..rmvb等,这里讲到的是第三方开源库FFmpeg,可以直接播放更多的 ...
- poj3977(折半枚举+二分查找)
题目链接:https://vjudge.net/problem/POJ-3977 题意:给一个大小<=35的集合,找一个非空子集合,使得子集合元素和的绝对值最小,如果有多个这样的集合,找元素个数 ...
- storm manual drpc 的远程调用
一.创建server端 public class ManualDRPC { private static final Logger LOG = LoggerFactory.getLogger(Manu ...
- Qt Pro相关
Qt项目pro文件相关知识总结和记录 pro文件中使用相对路径需要注意的地方 INCLUDE_PATH 后接的路径./代表的是pro所在目录 LIBS 后接的./是可执行文件所在的目录,该目录会被 ...
- LC 20 Valid Parentheses
问题 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the i ...
- Go语言学习之数据类型
### Go语言学习之数据类型 数据类型的转换 1.Go语言不允许隐式类型转换(显示转换才可以) 2.别名和原有类型也不能进行隐式类型转换 例子: func TestImplicit(t *testi ...