学习django就看这本书了!django book 2.0中文版

时间:2023-01-16 16:00:17

所属网站分类: 资源下载 > python电子书


作者:熊猫烧香

链接:http://www.pythonheidong.com/blog/article/29/

来源:python黑洞网

djano介绍

Django 是从真实世界的应用中成长起来的,它是由 堪萨斯(Kansas)州 Lawrence 城中的一个 网络开发小
组编写的。 它诞生于 2003 年秋天,那时 Lawrence Journal-World 报纸的 程序员 Adrian Holovaty 和
Simon Willison 开始用 Python 来编写程序。
当时他们的 World Online 小组制作并维护当地的几个新闻站点, 并在以新闻界特有的快节奏开发环境中逐
渐发展。 这些站点包括有 LJWorld.com、Lawrence.com 和 KUsports.com, 记者(或管理层) 要求增加
的特征或整个程序都能在计划时间内快速的被建立,这些时间通常只有几天 或几个小时。 因此,Adrian 和
Simon 开发了一种节省时间的网络程序开发框架, 这是在截止时间前能完成程序的唯一途径。
2005 年的夏天,当这个框架开发完成时,它已经用来制作了很多个 World Online 的站点。 当时 World
Online 小组中的 Jacob Kaplan-Moss 决定把这个框架发布为一个开源软件。
从今往后数年,Django 是一个有着数以万计的用户和贡献者,在世界广泛传播的完善开源项目。 原来的 World
Online 的两个开发者(Adrian and Jacob)仍然掌握着 Django,但是其发展方向受社区团队的影响更大。
这些历史都是相关联的,因为她们帮助解释了很重要的两点。 第一,Django 最可爱的地方。 Django 诞生于
新闻网站的环境中,因此它提供很多了特性(如第 6 章会说到的管理后台),非常适合内容类的网站,如
Amazon.com, craigslist.org 和 washingtonpost.com,这些网站提供动态的,数据库驱动的信息。 (不要
看到这就感到沮丧,尽管 Django 擅长于动态内容管理系统, 但并不表示 Django 主要的目的就是用来创建动
态内容的网站。 某些方面 * 特别高效* 与其他方面 * 不高效* 是有区别的, Django 在其他方面也同样高
效。)
第二,Django 的起源造就了它的开源社区的文化。 因为 Django 来自于真实世界中的代码,而不是 来自于
一个科研项目或者商业产品,她主要集中力量来解决 Web 开发中遇到的问题,同样 也是 Django 的开发者经
常遇到的问题。 这样,Django 每天在现有的基础上进步。 框架的开发者对于让开发人员节省时间,编写更
加容易维护的程序,同时保证程序运行的效率具有极大的兴趣。 无他,开发者动力来源于自己的目标:节省
时间,快乐工作。 (坦率地讲,他们使用了自己公司的产品。)
报纸的 程序员 Adrian Holovaty 和
Simon Willison 开始用 Python 来编写程序。
当时他们的 World Online 小组制作并维护当地的几个新闻站点, 并在以新闻界特有的快节奏开发环境中逐
渐发展。 这些站点包括有 LJWorld.com、Lawrence.com 和 KUsports.com, 记者(或管理层) 要求增加
的特征或整个程序都能在计划时间内快速的被建立,这些时间通常只有几天 或几个小时。 因此,Adrian 和
Simon 开发了一种节省时间的网络程序开发框架, 这是在截止时间前能完成程序的唯一途径。
2005 年的夏天,当这个框架开发完成时,它已经用来制作了很多个 World Online 的站点。 当时 World
Online 小组中的 Jacob Kaplan-Moss 决定把这个框架发布为一个开源软件。
从今往后数年,Django 是一个有着数以万计的用户和贡献者,在世界广泛传播的完善开源项目。 原来的 World

学习django就看这本书了!django book 2.0中文版
Online 的两个开发者(Adrian and Jacob)仍然掌握着 Django,但是其发展方向受社区团队的影响更大。
这些历史都是相关联的,因为她们帮助解释了很重要的两点。 第一,Django 最可爱的地方。 Django 诞生于
新闻网站的环境中,因此它提供很多了特性(如第 6 章会说到的管理后台),非常适合内容类的网站,如
Amazon.com, craigslist.org 和 washingtonpost.com,这些网站提供动态的,数据库驱动的信息。 (不要
看到这就感到沮丧,尽管 Django 擅长于动态内容管理系统, 但并不表示 Django 主要的目的就是用来创建动
态内容的网站。 某些方面 * 特别高效* 与其他方面 * 不高效* 是有区别的, Django 在其他方面也同样高
效。)
第二,Django 的起源造就了它的开源社区的文化。 因为 Django 来自于真实世界中的代码,而不是 来自于
一个科研项目或者商业产品,她主要集中力量来解决 Web 开发中遇到的问题,同样 也是 Django 的开发者经
常遇到的问题。 这样,Django 每天在现有的基础上进步。 框架的开发者对于让开发人员节省时间,编写更
加容易维护的程序,同时保证程序运行的效率具有极大的兴趣。 无他,开发者动力来源于自己的目标:节省
时间,快乐工作。 (坦率地讲,他们使用了自己公司的产品。)
1 8 B 如何阅读本书
在编写本书时,我们努力尝试在可读性和参考性间做一个平衡,当然本书会偏向于可 读性。 本书的目标,
之前也提过,是要将你培养成一名 Django 专家,我们相信,最好 的方式就是提供文章和充足的实例,而不
是一堆详尽却乏味的关于 Django 特色的手册。 (曾经有人说过,如果仅仅教字母表是无法教会别人说话的。
在编写本书时,我们努力尝试在可读性和参考性间做一个平衡,当然本书会偏向于可 读性。 本书的目标,
之前也提过,是要将你培养成一名 Django 专家,我们相信,最好 的方式就是提供文章和充足的实例,而不
是一堆详尽却乏味的关于 Django 特色的手册。 (曾经有人说过,如果仅仅教字母表是无法教会别人说话的。
13
按照这种思路,我们推荐按顺序阅读第 1-12 章。 这些章节构成了如何使用 Django 的基础;读过之后,你
就可以搭建由 Django 支撑的网站了。 1-7 章是核心课程,8-11 章讲述 Django 的高级应用,12 章讲述部署
相关的知识。 剩下的 13-20 章,讲述 Django 特有的特点,可以任意顺序阅读。
附录部分用作参考资料。 要回忆语法或查阅 Django 某部分的功能概要时,你偶尔可能会回来翻翻这些资料
以及
按照这种思路,我们推荐按顺序阅读第 1-12 章。 这些章节构成了如何使用 Django 的基础;读过之后,你
就可以搭建由 Django 支撑的网站了。 1-7 章是核心课程,8-11 章讲述 Django 的高级应用,12 章讲述部署
相关的知识。 剩下的 13-20 章,讲述 Django 特有的特点,可以任意顺序阅读。
附录部分用作参考资料。 要回忆语法或查阅 Django 某部分的功能概要时,你偶尔可能会回来翻翻这些资料
以及 H U http://www.djangoproject.com/ U H 上的免费文档。
1 0 6 B 所需编程知识
本书读者需要理解基本的面向过程和面向对象编程: 流程控制( if , while 和 for ),数据结构(列表,
哈希表/字典),变量,类和对象。
Web 开发经验,正如你所想的,也是非常有帮助的,但是对于阅读本书,并不是必须的。 通过本书,我们尽
量给缺乏经验的开发人员提供在 Web 开发中最好的实践。
本书读者需要理解基本的面向过程和面向对象编程: 流程控制( if , while 和 for ),数据结构(列表,
哈希表/字典),变量,类和对象。
Web 开发经验,正如你所想的,也是非常有帮助的,但是对于阅读本书,并不是必须的。 通过本书,我们尽
量给缺乏经验的开发人员提供在 Web 开发中最好的实践。
1 0 7 B Python所需知识
本质上来说, Django 只不过是用 Python 编写的一组类库。 用 Django 开发站点就是使用这些类库编写
Python 代码。 因此,学习 Django 的关键就是学习如何进行 Python 编程并理解 Django 类库的运作方式。
如果你有 Python 开发经验,在学习过程中应该不会有任何问题。 基本上,Django 的代码并 没有使用一些黑
色魔法(例如代码中的欺骗行为,某个实现解释或者理解起来十分困难)。 对你来说,学习 Django 就是学
习她的命名规则和 API。

目录

Django book 2.0 中文 U ............................................. 1
U 第一章:介绍Django U ............................................... 8
U 框架是什麼? U .................................................. 9
U MVC 设计模式 U ................................................ 10
U Django 历史 U ................................................. 11
U 如何阅读本书 U ................................................ 12
U 所需编程知识 U ............................................. 13
U Python所需知识 U ........................................... 13
U Django版本支持 U ........................................... 13
U 获取帮助 U ................................................. 13
U 下一章 U ................................................... 14
U 第二章:入门 U ..................................................... 14
U Python 安装 U ................................................. 14
U Python版本 U ............................................... 14
U 安装 U ..................................................... 15
U 安装 Django U ................................................. 15
U 安装官方发布版 U ........................................... 15
U 安装Trunk版本 U ............................................ 16
U 测试Django安装 U .............................................. 17
U 安装数据库 U .................................................. 17
U 在 Django 中使用 PostgreSQL U .............................. 18
U 在 Django 中使用 SQLite 3 U ................................ 18
U 在 Django 中使用 MySQL U ................................... 19
U 在Django中使用Oracle数据库 U ............................... 19
U 使用无数据库支持的 Django U ................................ 19
U 开始一个项目 U ................................................ 19
U 运行开发服务器 U ........................................... 21
U 接下来做什么? U ............................................... 21
U 第三章 视图和URL配置 U ............................................ 22
U 你的第一个基于Django的页面: Hello World U ..................... 22
U 第一份视图: U ............................................. 22
U 你的第一个URLconf U ........................................ 23
U 关于“404 错误”的快速参考 U ................................ 26
U 关于网站根目录的快速参考。 U ............................... 27
U Django是怎么处理请求的 U ....................................... 28
U 第二个视图: 动态内容 U ........................................ 29
U URL配置和松耦合 U ............................................. 30
U 第三个视图 动态URL U .......................................... 31
U Django 漂亮的出错页面 U ........................................ 34
U 下一章 U ...................................................... 36
U 第四章 模板 U ..................................................... 36
U 模板系统基本知识 U ............................................ 36
U 如何使用模板系统 U ............................................ 38
2
U 创建模板对象 U ............................................. 38
U 模板渲染 U ................................................. 40
U 同一模板,多个上下文 U ..................................... 41
U 深度变量的查找 U ........................................... 42
U 玩一玩上下文(context)对象 U ................................ 45
U 基本的模板标签和过滤器 U ....................................... 46
U 标签 U ..................................................... 46
U 过滤器 U ................................................... 52
U 理念与局限 U .................................................. 52
U 在视图中使用模板 U ............................................ 53
U 模板加载 U .................................................... 54
U render_to_response() U ..................................... 57
U locals() 技巧 U ............................................ 58
U get_template()中使用子目录 U ............................... 59
U include 模板标签 U ......................................... 59
U 模板继承 U .................................................... 60
U 下一章 U ...................................................... 63
U 第 5 章 模型 U ..................................................... 64
U 在视图中进行数据库查询的笨方法 U ............................... 64
U MTV 开发模式 U ................................................ 65
U 数据库配置 U .................................................. 66
U 第一个应用程序 U .............................................. 68
U 在Python代码里定义模型 U ....................................... 69
U 第一个模型 U .................................................. 70
U 模型安装 U .................................................... 71
U 基本数据访问 U ................................................ 74
U 添加模块的字符串表现 U ......................................... 75
U 插入和更新数据 U .............................................. 77
U 选择对象 U .................................................... 78
U 数据过滤 U ................................................. 79
U 获取单个对象 U ............................................. 79
U 数据排序 U ................................................. 80
U 连锁查询 U ................................................. 81
U 限制返回的数据 U ........................................... 82
U 更新多个对象 U ............................................. 82
U 删除对象 U .................................................... 83
U 下一章 U ...................................................... 84
U 第六章 Django站点管理 U ........................................... 85
U django.contrib 包 U ........................................... 85
U 激活管理界面 U ................................................ 85
U ,使用管理工具。 U ............................................ 86
U 将你的Models加入到Admin管理中 U ................................ 92
U Admin是如何工作的 U ........................................... 93
U 设置字段可选 U ................................................ 93
U 设置日期型和数字型字段可选 U ............................... 94
U 自定义字段标签 U .............................................. 95
U 自定义ModelAdmi类 U ........................................... 96
U 自定义列表 U ............................................... 96
U 自定义编辑表单 U ........................................... 99
3
U 用户、用户组和权限 U ......................................... 101
U 何时、为什么使用管理界面?何时又不使用呢? U .................. 102
U 下一章 U ..................................................... 102
U 第 7 章 表单 U .................................................... 103
U 从Request对象中获取数据 U ..................................... 103
U URL相关信息 U ............................................. 103
U 有关request的其它信息 U ................................... 104
U 提交的数据信息 U .......................................... 105
U 一个简单的表单处理示例 U ...................................... 105
U 改进表单 U ................................................... 108
U 简单的验证 U ................................................. 110
U 编写Contact表单 U ............................................ 112
U 第一个Form类 U ............................................... 115
U 在视图中使用Form对象 U ........................................ 118
U 改变字段显示 U ............................................... 119
U 设置最大长度 U ............................................... 119
U 设置初始值 U ................................................. 119
U 自定义校验规则 U ............................................. 120
U 指定标签 U ................................................... 121
U 定制Form设计 U ............................................... 121
U 下一章 U ..................................................... 123
U 第八章:高级视图和URL配置 U ...................................... 123
U URLconf 技巧 U ............................................... 123
U 流线型化(Streamlining)函数导入 U ........................... 123
U 使用多个视图前缀 U ........................................ 125
U 调试模式中的特例 U ........................................ 126
U 使用命名组 U .............................................. 126
U 理解匹配/分组算法 U ....................................... 128
U 传递额外的参数到视图函数中 U .............................. 128
U 使用缺省视图参数 U ........................................ 133
U 特殊情况下的视图 U ........................................ 134
U 从URL中捕获文本 U ......................................... 135
U 决定URLconf搜索的东西 U ................................... 136
U 视图函数的高级概念 U ...................................... 136
U 包装视图函数 U ............................................ 139
U 包含其他URLconf U ............................................ 140
U 捕获的参数如何和include()协同工作 U ........................ 141
U 额外的URLconf如何和include()协同工作 U ..................... 141
U 下一章 U ..................................................... 142
U 第九章 模板高级进阶 U ............................................ 143
U 模板语言回顾 U ............................................... 143
U RequestContext和Context处理器 U ............................... 143
U django.core.context_processors.auth U ...................... 146
U django.core.context_processors.debug U ..................... 147
U django.core.context_processors.i18n U ...................... 147
U django.core.context_processors.request U ................... 147
U 写Context处理器的一些建议 U ............................... 148
U html自动转意 U ............................................... 148
U 如何关闭它 U .............................................. 149
4
U 备注 U .................................................... 150
U 过滤器参数里的字符串常量的自动转义 U ....................... 151
U 模板加载的内幕 U ............................................. 151
U 扩展模板系统 U ............................................... 152
U 创建一个模板库 U .......................................... 152
U 自定义模板过滤器 U ........................................ 153
U 自定义模板标签 U .......................................... 154
U 编写编译函数 U ............................................ 155
U 编写模板节点 U ............................................ 156
U 注册标签 U ................................................ 157
U 在上下文中设置变量 U ...................................... 157
U 分析直至另一个模板标签 U .................................. 159
U 分析直至另外一个模板标签并保存内容 U ....................... 159
U 简单标签的快捷方式 U ...................................... 160
U 包含标签 U ................................................ 161
U 编写自定义模板加载器 U ........................................ 162
U 配置独立模式下的模板系统 U .................................... 163
U 接下来做什么? U ............................................. 164
U 第 10 章: 数据模型高级进阶 U ..................................... 164
U 相关对象 U ................................................... 164
U 访问外键(Foreign Key)值 U ................................. 165
U 访问多对多值(Many-to-Many Values) U ........................ 166
U 更改数据库模式(Database Schema) U ............................. 166
U 添加字段 U ................................................ 166
U 删除字段 U ................................................ 168
U 删除多对多关联字段 U ...................................... 168
U 删除模型 U ................................................ 169
U Managers U ................................................... 169
U 增加额外的Manager方法 U ................................... 169
U 修改初始Manager QuerySets U ............................... 170
U 模型方法 U ................................................... 172
U 执行原始SQL查询 U ............................................ 173
U 接下来做什么? U ............................................. 174
U 第 11 章 通用视图 U ............................................... 174
U 使用通用视图 U ............................................... 174
U 对象的通用视图 U ............................................. 176
U 扩展通用视图 U ............................................... 177
U 制作友好的模板Context U ................................... 177
U 添加额外的Context U ....................................... 178
U 显示对象的子集 U .......................................... 179
U 用函数包装来处理复杂的数据过滤 U ........................... 180
U 处理额外工作 U ............................................ 180
U 下一章 U ..................................................... 182
U 第十二章: 部署Django U .......................................... 182
U 准备你的代码库 U ............................................. 182
U 关闭Debug模式. U .......................................... 182
U 来关闭模板Debug模式。 U ................................... 183
U 实现一个 404 模板 U ........................................ 183
U 实现一个 500 模板 U ........................................ 183
5
U 设置错误警告 U ............................................ 184
U 设置连接中断警报 U ........................................ 184
U 使用针对产品的不同的设置 U .................................... 185
U DJANGO_SETTINGS_MODULE U ...................................... 186
U 用Apache和mod_python来部署Django U ............................ 187
U 基本配置 U ................................................ 187
U 在同一个 Apache 的实例中运行多个 Django 程序 U ............. 188
U 用 mod_python 运行一个开发服务器 U ......................... 189
U 使用相同的Apache实例来服务Django和Media文件 U .............. 189
U 错误处理 U ................................................ 190
U 处理段错误 U .............................................. 190
U 一种替代方案: mod_wsgi模块 U ............................. 191
U 使用FastCGI部署Django应用 U ................................... 191
U FastCGI 简介 U ............................................ 191
U 运行你的 FastCGI 服务器 U ................................. 192
U 在Apache中以FastCGI的方式使用Django U ...................... 193
U FastCGI 和 lighttpd U ..................................... 194
U 在使用Apache的共享主机服务商处运行Django U ................. 195
U 可扩展性 U ................................................... 196
U 运行在一台单机服务器上 U .................................. 196
U 分离出数据库服务器 U ...................................... 197
U 运行一个独立的媒体服务器 U ................................ 198
U 实现负担均衡和数据冗余备份 U .............................. 198
U 慢慢变大 U ................................................ 199
U 性能优化 U ................................................... 200
U RAM怎么也不嫌多 U ......................................... 200
U 禁用 Keep-Alive U ......................................... 201
U 使用 memcached U .......................................... 201
U 经常使用memcached U ....................................... 201
U 参加讨论 U ................................................ 201
U 下一章 U ..................................................... 201
U 第十三章: 输出非HTML内容 U ...................................... 202
U 基础: 视图和MIME类型 U ....................................... 202
U 生成 CSV 文件 U .............................................. 203
U 生成 PDF 文件 U .............................................. 204
U 安装 ReportLab U .......................................... 204
U 编写视图 U ................................................ 205
U 复杂的 PDF 文件 U ......................................... 206
U 其它的可能性 U ............................................... 206
U 内容聚合器应用框架 U ......................................... 207
U 初始化 U .................................................. 207
U 一个简单的Feed U .......................................... 208
U 一个更复杂的Feed U ........................................ 209
U 指定Feed的类型 U .......................................... 211
U 闭包 U .................................................... 211
U 语言 U .................................................... 212
U URLs U .................................................... 212
U 同时发布Atom and RSS U .................................... 212
U Sitemap 框架 U ............................................... 213
6
U 安装 U .................................................... 214
U Initialization U .......................................... 214
U Sitemap 类 U .............................................. 214
U 快捷方式 U ................................................ 216
U 创建一个Sitemap索引 U ..................................... 217
U 通知Google U .............................................. 217
U 下一章 U ..................................................... 218
U 第十四章: 会话、用户和注册 U .................................... 218
U Cookies U .................................................... 218
U 存取Cookies U ............................................. 219
U 好坏参半的Cookies U ....................................... 221
U Django的 Session 框架 U ....................................... 222
U 打开 Sessions功能 U ....................................... 222
U 在视图中使用Session U ..................................... 222
U 设置测试Cookies U ......................................... 224
U 在视图(View)外使用Session U ............................... 225
U 何时保存Session U ......................................... 225
U 浏览器关闭即失效会话 vs 持久会话 U ......................... 226
U 其他的Session设置 U ....................................... 226
U 用户与Authentication U ........................................ 227
U 打开认证支持 U ............................................ 227
U 使用User对象 U ............................................ 228
U 登录和退出 U .............................................. 231
U 限制已登录用户的访问 U .................................... 233
U 对通过测试的用户限制访问 U ................................ 234
U 管理 Users, Permissions 和 Groups U ........................ 235
U 在模板中使用认证数据 U .................................... 237
U 权限、组和消息 U ............................................. 238
U 权限 U .................................................... 238
组...................................................... 238
.................................................... 238
组...................................................... 238
U 消息 U .................................................... 239
U 下一章 U ..................................................... 240
U 第十五章: 缓存机制 U ............................................ 240
U 设定缓存 U ................................................... 240
U 内存缓冲 U ................................................ 241
U 数据库缓存 U .............................................. 241
U 文件系统缓存 U ............................................ 242
U 本地内存缓存 U ............................................ 242
U 仿缓存(供开发时使用) U .................................. 242
U 使用自定义缓存后端 U ...................................... 243
U CACHE_BACKEND参数 U ....................................... 243
U 站点级 Cache U ............................................... 243
U 视图级缓存 U ................................................. 244
U 在 URLconf 中指定视图缓存 U ............................... 245
U 模板碎片缓存 U ............................................... 246
U 低层次缓存API U .............................................. 246
U 上游缓存 U ................................................... 248
U 使用 Vary头部 U .............................................. 248
U 控制缓存: 使用其它头部 U ..................................... 250
7
U 其他优化 U ................................................... 251
U MIDDLEWARE_CLASSES 的顺序 U ................................... 251
U 下一章 U ..................................................... 252
U 第十六章:集成的子框架 django.contrib U .......................... 252
U Django标准库 U ............................................... 252
U 多个站点 U ................................................... 253
U 情景 1:多站点间复用数据 U ................................. 253
U 情景 2:把网站的名字/域名保存在一个地方 U .................. 254
U 如何使用多站点框架 U ...................................... 254
U 多站点框架的功能 U ........................................ 254
U 当前站点管理器 U .......................................... 257
U Django如何使用多站点框架 U ................................ 258
U Flatpages(简单页面) U ........................................ 259
U 使用简单页面 U ............................................ 259
U 添加、修改和删除简单页面 U ................................ 261
U 使用简单页面模板 U ........................................ 261
U 重定向 U ..................................................... 262
U 使用重定向框架 U .......................................... 262
U 增加、变更和删除重定向 U .................................. 263
U CSRF 防护 U .................................................. 263
U 一个简单的 CSRF 例子 U .................................... 263
U 稍微复杂一点的CSRF例子 U .................................. 264
U 防止 CSRF U ............................................... 264
U 人性化数据 U ................................................. 265
U apnumber U ................................................ 265
U intcomma U ................................................ 266
U intword U ................................................. 266
U ordinal U ................................................. 266
U 标记过滤器 U ................................................. 267
U 下一章 U ..................................................... 267
U 第十七章: 中间件 U .............................................. 267
U 什么是中间件 U ............................................... 268
U 安装中间件 U ................................................. 268
U 中间件方法 U ................................................. 269
U Initializer: __init__(self) __init__(self)「初始化] U ..... 269
U Request预处理函数: process_request(self, request) process_request(self, request) U 269
U View预处理函数: process_view(self, request, view, args, kwargs) process_view(self, request,
view, args, kwargs)
View预处理函数: process_view(self, request, view, args, kwargs) process_view(self, request,
view, args, kwargs) U ..................................... 270
U Response后处理函数: process_response(self, request, response) process_response(self,
request, response)
Response后处理函数: process_response(self, request, response) process_response(self,
request, response) U ...................................... 270
U Exception后处理函数: process_exception(self, request, exception) process_exception(self,
request, exception)
Exception后处理函数: process_exception(self, request, exception) process_exception(self,
request, exception) U ..................................... 271
U 内置的中间件 U ............................................... 271
U 认证支持中间件 U .......................................... 271
U 通用中间件 U .............................................. 271
U 压缩中间件 U .............................................. 272
U 条件化的GET中间件 U ....................................... 272
U 反向代理支持 (X-Forwarded-For中间件) U ..................... 273
U 会话支持中间件 U .......................................... 273
8
U 站点缓存中间件 U .......................................... 273
U 事务处理中间件 U .......................................... 273
U 下一章 U ..................................................... 274
U 第十八章: 集成已有的数据库和应用 U .............................. 274
U 与遗留数据库整合 U ........................................... 274
U 使用 inspectdb U .......................................... 274
U 清理生成的Models U ........................................ 275
U 与认证系统的整合 U ........................................... 276
U 指定认证后台 U ............................................ 276
U 编写认证后台 U ............................................ 276
U 和遗留Web应用集成 U .......................................... 278
U 下一章 U ..................................................... 278
U 第十九章: 国际化 U .............................................. 279
U 1、如何指定待翻译字符串 U ..................................... 280
U 在Python 代码中 U ......................................... 280
U 模板代码 U ................................................ 282
U 与惰性翻译对象一道工作 U .................................. 284
U 2、如何创建语言文件 U ......................................... 285
U 消息文件 U ................................................ 285
U 编译信息文件 U ............................................ 287
U Django如何处理语言偏好 U ...................................... 287
U 在你自己的项目中使用翻译 U .................................... 289
U set_language 重定向视图 U ..................................... 290
U 翻译与JavaScript U ........................................... 291
U javascript_catalog视图 U .................................. 291
U 使用JavaScript翻译目录 U .................................. 292
U 创建JavaScript翻译目录 U .................................. 292
U 熟悉 gettext 用户的注意事项 U ................................. 293
U Windows下的gettext U ......................................... 293
U 下一章 U ..................................................... 293