ySJ
|
2.0/chapter16/#80 |
2010-04-23 13:05:11
|
<literal>webdesign</literal>:对设计者非常有用的Django扩展。
|
|
ySJ
|
2.0/chapter16/#78 |
2010-04-23 13:00:51
|
参见13章。
|
|
ySJ
|
2.0/chapter16/#72 |
2010-04-23 12:59:34
|
参见13章。
|
|
ySJ
|
2.0/chapter16/#69 |
2010-04-23 12:59:11
|
参见14章。
|
|
ySJ
|
2.0/chapter16/#68 |
2010-04-23 12:58:56
|
<literal>sessions</literal> : Django 的会话框架。
|
|
ySJ
|
2.0/chapter16/#66 |
2010-04-23 12:58:40
|
参看后面的“重定向”小节。
|
|
ySJ
|
2.0/chapter16/#60 |
2010-04-23 12:57:13
|
以及爱尔兰的身份证号的方法。
|
|
ySJ
|
2.0/chapter16/#59 |
2010-04-23 12:56:48
|
例如,它包含了验证美国的邮编
|
|
ySJ
|
2.0/chapter16/#58 |
2010-04-23 12:55:37
|
<literal>localflavor</literal>:针对不同国家和文化的混杂代码段。
|
|
ySJ
|
2.0/chapter16/#53 |
2010-04-23 12:53:05
|
请参看<reference name="http://geodjango.org/" refuri="http://geodjango.org/">http://geodjango.org/</reference>上的文档。
|
|
ySJ
|
2.0/chapter16/#52 |
2010-04-23 12:52:26
|
这个库比较复杂,本书不详细介绍。
|
|
ySJ
|
2.0/chapter16/#51 |
2010-04-23 12:50:49
|
举个例子,它允许你的Django模型保存地理学数据并执行地理学查询。
|
|
ySJ
|
2.0/chapter16/#50 |
2010-04-23 12:48:57
|
<literal>gis</literal>:为Django提供GIS(Geographic Information Systems)支持的扩展。
|
|
ySJ
|
2.0/chapter16/#47 |
2010-04-23 12:47:21
|
<literal>formtools</literal>:一些列处理表单通用模式的高级库。
|
|
ySJ
|
2.0/chapter16/#48 |
2010-04-23 11:22:55
|
本书没有介绍这方面的知识;详情请参阅Django官方文档。
|
|
ySJ
|
2.0/chapter16/#45 |
2010-04-23 11:22:35
|
参见后面标题为“Flatpages”的小节。
|
|
ySJ
|
2.0/chapter16/#44 |
2010-04-23 11:22:27
|
<literal>flatpages</literal> : 一个在数据库中管理单一HTML内容的模块。
|
|
ySJ
|
2.0/chapter16/#42 |
2010-04-23 11:22:02
|
本书没有介绍这方面的知识;详情请参阅Django官方文档。
|
|
ySJ
|
2.0/chapter16/#41 |
2010-04-23 11:21:36
|
<literal>databrowse</literal>:帮助你浏览数据的Django应用。
|
|
ySJ
|
2.0/chapter16/#39 |
2010-04-23 11:21:02
|
见后面标题为"CSRF 防御"的小节。
|
|
ySJ
|
2.0/chapter16/#38 |
2010-04-23 11:20:48
|
<literal>csrf</literal> : 这个模块用来防御跨站请求伪造(CSRF)。参
|
|
ySJ
|
2.0/chapter16/#36 |
2010-04-23 11:19:54
|
可以通过阅读源码来了解关于这个框架的更多信息,源码的位置在 <literal>django/contrib/contenttypes/</literal>。
|
|
ySJ
|
2.0/chapter16/#34 |
2010-04-23 11:19:18
|
<literal>contenttypes</literal> : 这是一个用于引入文档类型的框架,每个安装的Django模块作为一种独立的文档类型。
|
|
ySJ
|
2.0/chapter16/#32 |
2010-04-23 11:18:31
|
本书没有介绍这方面的知识;详情请参阅Django官方文档。
|
|
ySJ
|
2.0/chapter16/#29 |
2010-04-23 11:16:18
|
参见第十四章。
|
|
ySJ
|
2.0/chapter16/#26 |
2010-04-23 11:15:36
|
本书没有介绍这方面的知识;详情请参阅Django官方文档。
|
|
ySJ
|
2.0/chapter16/#25 |
2010-04-23 11:04:12
|
<literal>admindocs</literal>:为Django admin站点提供自动文档。
|
|
ySJ
|
2.0/chapter16/#23 |
2010-04-23 11:02:22
|
请查看第6章。
|
|
ySJ
|
2.0/chapter16/#18 |
2010-04-23 11:01:35
|
当 Django 开发者向框架增加新功能的时,他们会严格根据这一原则来决定是否把新功能放入<literal>django.contrib</literal>中。
|
|
ySJ
|
2.0/chapter16/#17 |
2010-04-23 11:01:01
|
就算你将整个<literal>django.contrib</literal>开发包删除,你依然可以使用 Django 的基础功能而不会遇到任何问题。
|
|
ySJ
|
2.0/chapter16/#16 |
2010-04-23 11:00:33
|
<literal>django.contrib</literal> 开发包共有的特性是:
|
|
ySJ
|
2.0/chapter16/#12 |
2010-04-23 10:57:16
|
这些子包一般是互相独立的,不过有些<literal>django.contrib</literal>子包需要依赖其他子包。
|
|
ySJ
|
2.0/chapter16/#11 |
2010-04-23 10:54:16
|
Django的标准库存放在 <literal>django.contrib</literal> 包中。每个子包都是一个独立的附加功能包。
|
|
ySJ
|
2.0/chapter16/#5 |
2010-04-23 10:48:13
|
安装Python的同时会安装好大量的标准软件包,这样 你可以立即使用而不用自己去下载。
|
|
ySJ
|
2.0/chapter15/#472 |
2010-04-23 10:47:07
|
admin站点(第六章)和session/user框架(第十四章)。
|
|
ySJ
|
2.0/chapter15/#473 |
2010-04-23 10:46:17
|
下一章中,我们将讲述Django中其他的子框架。
|
|
ySJ
|
2.0/chapter15/#471 |
2010-04-23 10:45:53
|
我们已经介绍了一些:
|
|
ySJ
|
2.0/chapter15/#470 |
2010-04-23 10:44:48
|
Django捆绑了一系列可选的方便特性。
|
|
ySJ
|
2.0/chapter15/#466 |
2010-04-23 10:43:12
|
<literal>FetchFromCacheMiddleware</literal>也需要在会修改<literal>Vary</literal>头部的中间件之后运行,所以<literal>FetchFromCacheMiddleware</literal>必须放在它们<emphasis>后面</emphasis>。
|
|
ySJ
|
2.0/chapter15/#465 |
2010-04-23 10:41:11
|
另一方面,<literal>FetchFromCacheMiddleware</literal>在请求阶段运行,这时中间件循序执行,所以列表顶端的项目会<emphasis>首先</emphasis>执行。
|
|
ySJ
|
2.0/chapter15/#463 |
2010-04-23 10:38:25
|
添加<literal>Accept-Language</literal>的<literal>LocaleMiddleware</literal> |
|
ySJ
|
2.0/chapter15/#457 |
2010-04-23 10:37:20
|
下面的中间件模块就是这样的:
|
|
ySJ
|
2.0/chapter15/#461 |
2010-04-23 10:37:06
|
添加 <literal>Accept-Encoding</literal> 的 <literal>GZipMiddleware</literal> |
|
ySJ
|
2.0/chapter15/#457 |
2010-04-23 10:36:36
|
下面的中间件模块就是这么做的:
|
|
ySJ
|
2.0/chapter15/#456 |
2010-04-23 10:35:12
|
所有,你需要确保<literal>UpdateCacheMiddleware</literal>排在任何可能往<emphasis>Vary</emphasis>头部添加信息的中间件<literal>之前</literal>。
|
|
ySJ
|
2.0/chapter15/#455 |
2010-04-23 10:33:26
|
<literal>UpdateCacheMiddleware</literal>在相应阶段运行。因为中间件是以相反顺序运行的,所有列表顶部的中间件反而<emphasis>last</emphasis>在相应阶段的最后运行。
|
|
ySJ
|
2.0/chapter15/#453 |
2010-04-23 10:31:26
|
中间件总是尽可能得想<literal>Vary</literal>响应头中添加信息。
|
|
ySJ
|
2.0/chapter15/#452 |
2010-04-23 10:30:17
|
因为缓存中间件需要知道哪些头部信息由哪些缓存区来区分。
|
|
ySJ
|
2.0/chapter15/#451 |
2010-04-23 10:28:22
|
如果使用缓存中间件,注意在<literal>MIDDLEWARE_CLASSES</literal>设置中正确配置。
|
|
ySJ
|
2.0/chapter15/#445 |
2010-04-23 10:26:13
|
<literal>django.middleware.http.ConditionalGetMiddleware</literal> 为现代浏览器增加了有条件的,基于 <literal>ETag</literal> 和 <literal>Last-Modified</literal> 头标的GET响应的相关支持。
|
|