Django中视图和模板之外的翻译操作实践

需积分: 11 74 下载量 87 浏览量 更新于2024-08-09 收藏 7.34MB PDF 举报
"该资源是一本关于Django框架的书籍,名为《精通Django》的中文版,由Nigel George撰写,安道出版社翻译。书中详细介绍了Django的核心概念和功能,包括安装、项目和应用的创建、视图与URL配置、模板系统、模型、管理后台和表单处理。此外,还特别讲解了如何在视图和模板之外使用Django的翻译功能,以及如何根据用户偏好设置或Cookie来设定和保存语言。" 在Django中,国际化的实现不仅限于视图和模板。通过`django.utils.translation`模块,开发者可以显式地为当前会话设置语言。例如,当用户的语言偏好从其他系统获取时,可以使用`activate()`函数激活所需的语言,如`translation.activate('fr')`来切换到法语。为了确保会话中后续的请求也使用同一语言,需要将激活的语言保存在会话中,对应键为`translation.LANGUAGE_SESSION_KEY`。若不使用会话,语言设置也可以存储在Cookie中,使用`set_cookie()`方法设置`LANGUAGE_COOKIE_NAME`配置的Cookie。 在视图和模板之外使用翻译,可以加载和激活翻译目录,然后进行文本的翻译。例如,`welcome_translated`函数展示了如何在特定语言环境下获取翻译后的文本,并确保在操作结束后恢复原始语言。相关函数包括`get_language()`用于获取当前线程的语言,`activate()`用于激活语言,以及`check_for_language()`用于检查Django是否支持指定的语言。 此外,书中涵盖了从初学者到进阶者的Django知识,从安装Django、设置数据库,到创建视图、URL配置、模板系统的工作原理,再到模型的定义和数据访问,以及Django管理后台的定制和用户权限管理。此外,还详细讲解了表单处理,包括验证、渲染和自定义外观,帮助开发者全面理解Django框架的应用开发。