`
bluecrystal
  • 浏览: 268271 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

django中如何国际化你的页面

阅读更多
在web开发中经常会根据不同语言地区的用户显示不同的页面,或者你想集中管理你的页面提示或警告信息,这种情况下,我们一般都回利用一些系统自身的国际化功能来完成这个工作。
下面我会用很简洁的方式一步一步从创建一个项目开始,描述如何在django中使用国际化功能。在开始之前,先说说开发环境:winxppro+sp2+python2.5+django0.96,另下面的很多django命令都在django安装根目录的bin下,请事先设置好路径方便使用。
第一步: 创建一个项目
使用django-admin.py startproject djtest 创建项目;
 
第二步: 创建应用
使用manage.py startapp international 创建应用;
 
第三步: 修改配置文件
在djtest目录下,更改settings.py,修改DATABASE_ENGINE DATABASE_NAME DATABASE_USER DATABASE_PASSWORD,这几个参数值随便设置吧,但是要保证能够链接上数据库,否则后面django自带的测试服务器启动不了,并且一访问就报错 :),此外再设置USE_I18N = True
第四步: 配置urls.py
在urlpatterns中增加一行 (r'^international/test/', 'djtest.international.views.test')
第五步: 写一个简单的处理函数
打开views.py,添加如下代码
python 代码
  1. from django.shortcuts import render_to_response
  2. def test(request):
  3. return render_to_response('international/test.html')
 
第六步: 写一个简单的模板文件
在djtest目录下创建一个templates/international目录,并在该目录下创建一个test.html模板文件,主要加入下面两行(详细请看上传的源码):
{% load i18n %}
{% trans 'hello test' %}
 
第七步: 创建包含国际化文本串的文件
在djtest目录下,首先创建目录locale,敲入命令 make-messages.py -l zh_CN 命令在djtest下的locale/zh_CN/LC_MESSAGES下生成文件django.po,该文件为刚刚敲入的命令遍历djtest下的源代码和模板目录后生成的,所以打开这个文件,你会找到这样两行:
代码
  1. msgid "hello test"
  2. msgstr "中文测试"
在msgstr的双引号内写入自己想要表达的字符串即可,比如"中文测试",并将该django文件保存为utf-8格式,在windows下最好不要带bom。
然后我们在djtest下,再敲入命令 make-messages.py -l en 命令在djtest下的locale/en/LC_MESSAGES下生成文件django.po,然后我们做同样的处理,只不过把msgstr的内容写成"english test",也将该文件保存为无bom的utf-8格式。
请注意,每个.po文件都请将Content-Type: text/plain; charset设置为utf-8;
 
第八步: 编译.po文件
在djtest目录下,敲入命令 compile-messages.py 该命令会为每一个.po文件生成.mo文件,供django使用;
 
第九步: 设置settings.py文件
在INSTALLED_APPS加入'djtest.international', 设置LANGUAGE_CODE = 'zh-cn'
第十步: 启动django的测试服务器
在djtest目录下,敲入命令 manage.py runserver,然后访问http://localhost:8000/international/test/浏览效果,更改settings.py中的LANGUAGE_CODE = 'en', 你就可以看到英文的消息。
 
 
  • djtest.rar (7.1 KB)
  • 描述: 整个测试项目文件,解压后,如果你的python和django环境是搭建好的,可直接使用,只需修改settings.py中相关数据库配置即可
  • 下载次数: 135
分享到:
评论
3 楼 sunny3super 2012-08-10  
django 确实是这样实现的,这篇文章讲诉了在模板中的使用。
另外 http://www.yihaomen.com/article/python/220.htm 这篇文章讲到了,在非 template 下的实现,方法类似。
2 楼 guotie 2007-11-11  
我感觉还是很麻烦
1 楼 zbird 2007-11-05  
既然是demo,数据库为什么不用sqlite?
直接就可以跑,省去了数据库的配置。

相关推荐

    django4.0官方中文文档

    8. **国际化和本地化(i18n & l10n)**:Django提供了全面的国际化和本地化支持,帮助开发者构建面向全球用户的多语言应用。包括字符串翻译、日期和数字格式化等。 9. **测试(Testing)**:Django内置了强大的测试...

    django1.8.2中文文档

    Django 支持多语言,提供了国际化和本地化工具,允许你轻松创建多语言网站。这包括翻译模板、模型字段和视图消息。 **管理界面(Admin)** Django 自带了一个强大的后台管理界面,只需简单的配置,就可以让你对...

    Django中文文档pdf

    9. **国际化和本地化**:Django内置了多语言支持,可以方便地实现内容的国际化和本地化。 10. **管理界面(Admin)**:Django的后台管理系统可以快速构建一个用于管理数据库记录的界面,无需额外编码。 通过阅读...

    Django2.0中文文档

    例如高级视图和URL配置、模板的高级进阶技巧、模型的高级进阶用法、通用视图的使用、Django项目的部署、输出非HTML内容、处理会话、用户认证和注册、缓存机制的应用、中间件的使用、集成已有的数据库和应用、国际化...

    django1.8中文文档

    Django 提供了强大的国际化和本地化支持,使得应用程序可以轻松地适应多种语言环境。文档会指导开发者如何添加语言支持,翻译模板和静态文件,以及如何设置时区。 **9. 性能优化和部署** Django 1.8 文档还将涵盖...

    Django 2.0 官方中文文档

    9. **国际化和本地化(i18n & l10n)** Django 支持多语言应用,提供了翻译字符串、日期和时间格式化等功能,方便开发全球化网站。 10. **性能优化** Django 2.0 中对性能进行了优化,如支持 ASGI(异步服务器...

    django1.8官方文档

    - **国际化与本地化**:阐述了如何使 Django 应用程序支持多种语言和地区设置。 - **性能与优化**:分享了一些提高应用程序性能和响应速度的技术和策略。 - **Python 兼容性**:讨论了 Django 在不同 Python 版本中...

    Django 中文文档 1.8.pdf

    11. **国际化和本地化**:为创建多语言网站提供了支持,包括对不同语言和时区的处理。 12. **认证系统**:提供了用户认证和授权的框架,包括密码管理和自定义认证系统。 13. **性能和优化**:涉及了数据库优化、...

    Django框架 Django 2.1.7

    Django支持多语言应用,提供了翻译工具和机制,可以轻松地实现应用的国际化和本地化。 7. **缓存机制** 为了提高性能,Django提供了多种缓存策略,如页面级缓存、片段缓存等,可灵活配置缓存后端,如内存、数据库...

    Django基础知识介绍

    Django还提供了许多其他核心功能,比如用户认证(3.10 User authentication in Django)、缓存框架(3.11 Django’s cache framework)、国际化和本地化(3.15 Internationalization and localization)、日志记录...

    Django1.6 官方文档

    - Django 提供了完整的国际化 (i18n) 和本地化 (l10n) 支持。 - 支持多语言界面、日期时间格式化、货币格式化等功能。 **11. Python 兼容性** - Django 1.6 支持 Python 2.6 至 Python 3.3。 - 文档中包含了关于...

    Django -1.11.6下载

    11. 国际化和本地化:Django支持多语言网站的开发,提供了强大的国际化和本地化功能,包括翻译文本、日期和时间格式等。 12. 性能优化:Django 1.11.6在性能方面进行了优化,包括缓存系统、数据库查询效率等方面的...

    Django book中文

    本章将介绍Django如何实现国际化和本地化功能。 20. **安全**:安全是任何Web应用都必须重视的问题。本章详细阐述了Django的安全机制,包括防止SQL注入、XSS攻击、CSRF攻击等常见威胁的方法。 通过全面而深入地...

    Django book 2.0 中文版

    10. **国际化与本地化**:Django支持多语言,让你的应用可以面向全球用户。书中会介绍如何进行国际化和本地化设置,包括翻译字符串、时间格式化等。 11. **测试**:Django提供了完善的测试框架,鼓励开发者编写可...

    Django2.1完整手册-英文版

    此外,还会涉及Django开发流程、管理后台(Theadmin)等,并且会介绍Django的安全性问题、国际化和本地化、性能优化和地理框架。最后,也会讲解一些常见的Web应用开发工具、其他核心功能以及Django开源项目本身。 2...

    django 开发文档整理, 中文版

    - **国际化与本地化**:Django支持多语言应用,允许你为不同地区提供翻译。 - **测试**:Django内置了测试框架,便于编写和运行单元测试和集成测试。 - **管理命令**:Django允许你创建自定义命令,方便在命令行...

    django 1.11 官方说明文档.pdf 电子书

    讲解了 Django 中的国际化与本地化功能,包括如何配置多语言环境等。 ##### 3.16 日志记录 介绍了 Django 的日志记录机制。 ##### 3.17 分页 讲解了 Django 中的分页功能。 ##### 3.18 升级至 Python 3 这部分...

    django-chinese-docs pdf

    - **概述**:提供Django国际化的总体介绍。 - **国际化**:解释如何使Django项目支持多种语言。 - **本地化WEBUI格式**:介绍如何使Django项目的用户界面适应不同的地区设置。 以上是对“django-chinese-docs pdf”...

    Django Documentation.pdf

    国际化(i18n)和本地化(l10n)是Django用来支持多语言网站的机制。文档中说明了如何让应用程序支持多种语言,如何进行翻译,以及如何处理不同地区的文化差异。 ### 性能优化(Performance and Optimization) ...

Global site tag (gtag.js) - Google Analytics