设置国际化的具体步骤:

一、国际化

  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国际化的简单设置的更多相关文章

  1. Django简单设置cookies和session

    一.Cookie cookie及特点 Cookie是由服务器(网站)生成的,存储在浏览器端的 键值对数据(通常经过加密) 在响应请求时,服务器会把生成 Cookie数据 发给浏览器,浏览器会自动保存( ...

  2. Python学习笔记23:Django构建一个简单的博客网站(一个)

    在说如何下载和安装Django,本节将重点讨论如何使用Django站点. 一 新建project 命令:django-admin startproject mysite # 有的须要输入:django ...

  3. 用django创建一个简单的sns

    用django创建一个简单的sns 1.首先创建一个工程newsns django-admin.py startproject newsns 在工程目录下新建一个文件夹templates,在该文件夹下 ...

  4. django初探-创建简单的博客系统

    django第一步 1. django安装 pip install django print(django.get_version()) 查看django版本 2. 创建项目 打开cmd,进入指定目录 ...

  5. django初探-创建简单的博客系统(二)

    上篇django初探-创建简单的博客系统(一)已经记录了Django实现博客的发布的整个过程,接下来继续说明博客标题和内容的显示. 显示博客详细 将博客内容保存到数据库还不是发布博客的终极目的,博客一 ...

  6. Django的认证系统和Django admin的简单使用

    Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...

  7. django系列6--Ajax04 请求设置(设置csrf_token)

    Ajax请求设置csrf_token 官方文档 csrf_token: https://docs.djangoproject.com/en/1.11/ref/csrf/ CSRF 跨站请求攻击,简单地 ...

  8. django初探-创建简单的博客系统(一)

    django第一步 1. django安装 pip install django print(django.get_version()) 查看django版本 2. 创建项目 打开cmd,进入指定目录 ...

  9. 使用Django快速搭建简单的数据管理后台

    使用Django快速搭建简单的数据管理后台 概述 需求描述: 数据表已建好,能可视化操作增删改查,避免直接操作数据库 简版的管理系统 环境 Windows 10 x64 Python 3.6.3 (A ...

随机推荐

  1. centos(linux)-maven配置

    1.确认已经安装jdk 2.下载 3.解压 tar -zxvf apache-maven-xxx(tab补全文件名) 4.配置环境变量 (1)sudo vim /etc/profile (2)在最下面 ...

  2. 《剑指offer》字符串专题 (牛客11.01)

    字符串的题目难度不一,涉及到的考点有字符串处理.字符串匹配(自动机.正则).模拟,以及递归.动态规划等算法. 难度 题目 知识点 ☆ 02. 替换空格 从后往前 ☆☆ 27. 字符串的排列 回溯,St ...

  3. linux中sleep详解实例

    在linux编程中,有时候会用到定时功能,常见的是用sleep(time)函数来睡眠time秒:但是这个函数是可以被中断的,也就是说当进程在睡眠的过程中,如果被中断,那么当中断结束回来再执行该进程的时 ...

  4. redis的发布和订阅操作

  5. 类型限定符volatile

    目录 类型限定符volatile 强制内存读取 禁止编译优化 注意:volatile不能够保证线程同步 volatile bool flag; volatile int a; 添加volatile限定 ...

  6. H3C 交换机配置ssh登陆

    1.开启ssh服务,创建密钥. <D05-S5048-02>system-view [D05-S5048-02]ssh server enable //开启ssh服务 [D05-S5048 ...

  7. Kettle无法打开文件资源库

    问题: Kettle无法打开文件资源库. 问题描述: 新建文件资源库之后,资源库路径中有中文路径.退出kettle之后,再次进去发现没有了右上角的connect按钮了. 原因: kettle的repo ...

  8. ssm+reids缓存整合

    在说正文之前我们先介绍一下redis: redis是当今比较热门的非关系型数据库之一,他使用的是key-value的键值对来进行存储,是一个存在于内存之中的数据库,我们一般用于做数据缓存.当我们需要大 ...

  9. 【LOJ】#3102. 「JSOI2019」神经网络

    LOJ#3102. 「JSOI2019」神经网络 首先我们容易发现就是把树拆成若干条链,然后要求这些链排在一个环上,同一棵树的链不相邻 把树拆成链可以用一个简单(但是需要复杂的分类讨论)的树背包实现 ...

  10. Reactor 线程模型以及在netty中的应用

    这里我们需要理解的一点是Reactor线程模型是基于同步非阻塞IO实现的.对于异步非阻塞IO的实现是Proactor模型. 一 Reactor 单线程模型 Reactor单线程模型就是指所有的IO操作 ...