Changelog

全名 页面 提交时间 (Ascending) Unsort 内容 注释 ...
ySJ 2.0/chapter16/#493 2010-04-23 16:26:53 在此情况下,表单提交永远无法成功。
ySJ 2.0/chapter16/#494 2010-04-23 16:32:22 (这是因为在页面发送到客户端之前,<literal>CsrfMiddleware</literal>使用正则表达式来添加<literal>csrfmiddlewaretoken</literal>字段到你的HTML中,而正则表达式不能处理不规范的HTML。)如果你怀疑出现了这样的问题。使用你浏览器的查看源代码功能以确定<literal>csrfmiddlewaretoken</literal>是否插入到了表单中。
ySJ 2.0/chapter16/#500 2010-04-23 16:33:50 <literal>django.contrib.humanize</literal>包含了一些是数据更人性化的模板过滤器。
ySJ 2.0/chapter16/#501 2010-04-23 16:37:28 要激活这些过滤器,请把<literal>'django.contrib.humanize'</literal>加入到你的<literal>INSTALLED_APPS</literal>中。完成之后,向模版了加入<literal>{% load humanize %}</literal>就可以使用下面的过滤器了。
ySJ 2.0/chapter16/#523 2010-04-23 16:38:19 例子:
ySJ 2.0/chapter16/#533 2010-04-23 16:38:49 可以传入整数或者表示整数的字符串。
ySJ 2.0/chapter16/#540 2010-04-23 16:39:32 例子:
ySJ 2.0/chapter16/#550 2010-04-23 16:39:48 可以传入整数或者表示整数的字符串。
ySJ 2.0/chapter16/#556 2010-04-23 16:40:11 例子:
ySJ 2.0/chapter16/#564 2010-04-23 16:40:36 254变成254th。
ySJ 2.0/chapter16/#566 2010-04-23 16:40:47 可以传入整数或者表示整数的字符串。
ySJ 2.0/chapter16/#570 2010-04-23 16:41:48 <literal>django.contrib.markup</literal>包含了一些列Django模板过滤器,每一个都实现了一中通用的标记语言。
ySJ 2.0/chapter16/#579 2010-04-23 16:43:26 例如:<literal>textile</literal>过滤器吧Textile格式的文本转换为HTML。
ySJ 2.0/chapter16/#583 2010-04-23 16:43:53 一旦完成了该项工作,在模板中通过 <literal>{% load markup %}</literal> 就能使用这些过滤器。
ySJ 2.0/chapter16/#588 2010-04-23 16:45:40 这些继承框架(CSRF、身份验证系统等等)通过提供 <emphasis>中间件</emphasis> 来实现其奇妙的功能。中间件是在请求之前/后执行的可以修改请求和响应的代码,它扩展了框架。
ySJ 2.0/chapter16/#589 2010-04-23 16:46:02 在下一章,我们将介绍Django的中间件并解释怎样写出自己的中间件。
ySJ 2.0/chapter16/#592 2010-04-23 16:46:25 谨奉
ySJ 2.0/chapter16/#591 2010-04-23 16:47:14 <reference name="GNU Free Document License" refuri="/license/">GNU Free Document License</reference>约束。
wangnaide@gmail.com 2.0/chapter20/#313 2010-04-25 09:34:45 你已经完成了我们安排的程序。
wangnaide@gmail.com 2.0/chapter20/#316 2010-04-25 09:38:09 我们祝你好运,在运行你的Django网站,无论是为你或几个朋友的小网站,或者是下一个google a little toy意指有意思的小网站
wangnaide@gmail.com 2.0/chapter20/#295 2010-04-25 09:39:10 解决方案
wangnaide@gmail.com 2.0/chapter20/#297 2010-04-25 09:41:59 正如我们在第12章所涵盖,Django的<literal> DEBUG</literal> 设置控制这些错误信息的显示。
wangnaide@gmail.com 2.0/chapter20/#127 2010-04-25 09:44:41 在几天的时间里,他拥有了数以百万的朋友。
wangnaide@gmail.com 2.0/chapter20/#264 2010-04-25 09:45:37 解决方案
wangnaide@gmail.com 2.0/chapter20/#298 2010-04-25 09:47:05 当你准备部署时请确认把这个设置为:<literal> False</literal>
wangnaide@gmail.com 2.0/chapter20/#268 2010-04-25 09:47:41 备注
wangnaide@gmail.com 2.0/chapter20/#236 2010-04-25 09:47:57 解决方案
wangnaide@gmail.com 2.0/chapter20/#199 2010-04-25 09:51:46 相反,存储一个在后台映射到session数据存储的session ID
wangnaide@gmail.com 2.0/chapter20/#97 2010-04-25 12:23:44 你应该用<emphasis> always</emphasis> 这种方式构造自定义的SQL。
wangnaide@gmail.com 2.0/chapter20/#139 2010-04-25 12:25:57 为了防止这种情况,Django的模板系统自动转义所有的变量值。
wangnaide@gmail.com 2.0/chapter20/#143 2010-04-25 12:29:23 这样,一个到<literal> http://example.com/hello/name=Jacob</literal> 的请求将导致下面的页面:
wangnaide@gmail.com 2.0/chapter20/#167 2010-04-25 12:32:01 她便可以使该cookie来模拟原始用户。
wangnaide@gmail.com 2.0/chapter20/#146 2010-04-25 12:33:13 我们在第四章涵盖了Django的自动转义,一起想办法将其关闭。
wangnaide@gmail.com 2.0/chapter20/#174 2010-04-25 12:35:38 一个更微妙的层面上,然而,相信在cookies中存储的任意信息绝对不是一个好主意。
wangnaide@gmail.com 2.0/chapter20/#175 2010-04-25 12:37:18 你永远不知道谁一直在作怪。
wangnaide@gmail.com 2.0/chapter20/#182 2010-04-25 12:38:12 他可以稍后登陆账户并且检索数据。
wangnaide@gmail.com 2.0/chapter20/#187 2010-04-25 12:40:48 攻击者可以诱骗用户点击一个链接,实际上是提交包含一个XSS攻击的幌子。
wangnaide@gmail.com 2.0/chapter20/#188 2010-04-25 12:43:44 如果幌子没有逃跑,用户可以再一次把恶意代码注入到用户环境。
wangnaide@gmail.com 2.0/chapter20/#190 2010-04-25 12:44:05 解决方案
wangnaide@gmail.com 2.0/chapter20/#196 2010-04-25 12:46:07 Django的session框架(参见<reference name="Chapter 14" refuri="../chapter14/"> 第十四章</reference> )根本不会容许session包含在URL中。
ySJ 2.0/chapter17/#11 2010-04-26 09:20:12 如果你是顺着这本书读下来的话,你应该已经多次见到“中间件”了:
ySJ 2.0/chapter17/#13 2010-04-26 09:23:03 第14章中所有的session和user工具都籍由一小簇中间件实现(例如,由中间件设定view中可见的 <literal>request.session</literal><literal>request.user</literal> )。
ySJ 2.0/chapter17/#15 2010-04-26 09:59:24 第15章讨论的站点范围cache实际上也是由一个中间件实现,一旦该中间件发现与view相应的response已在缓存中,就不再调用对应的view函数。
ySJ 2.0/chapter17/#17 2010-04-26 10:04:53 第16章所介绍的 <literal>flatpages</literal> , <literal>redirects</literal> , 和 <literal>csrf</literal> 等应用也都是通过中间件组件来完成其魔法般的功能。
ySJ 2.0/chapter17/#25 2010-04-26 10:51:49 流量很大的站点通常需要将Django部署在平衡负载的代理(参见第12章)后面。
ySJ 2.0/chapter17/#51 2010-04-26 11:15:10 Django项目的安装并不强制要求任何中间件,如果你愿意, <literal>MIDDLEWARE_CLASSES</literal> 可以为空。但是我们建议你激活<literal>CommonMiddleware</literal>,这点我们会马上解释。
ySJ 2.0/chapter17/#55 2010-04-26 11:19:37 也就是说,Django将 <literal>MIDDLEWARE_CLASSES</literal> 视为view函数外层的顺序包装:
ySJ 2.0/chapter17/#62 2010-04-26 11:22:29 Initializer:
ySJ 2.0/chapter17/#63 2010-04-26 11:22:38 __init__(self)
ySJ 2.0/chapter17/#76 2010-04-26 12:46:11 Request预处理函数:
« < 87 88 89 90 91 92 93 > » 96 pages