Changelog

全名 (Ascending) Unsort 页面 提交时间 (Ascending) Unsort 内容 注释 ...
2.0/chapter09/#165 2009-12-31 10:29:11 html自动转意
2.0/chapter08/#413 2010-01-01 17:22:14 优化后的代码和前面的功能一样,但是减少了代码冗余
2.0/chapter08/#414 2010-01-01 17:25:09 现在我们建立了一个漂亮,通用的函数requires_login()来帮助我们修饰所有需要它来验证的视图
2.0/chapter08/#410 2010-01-01 17:29:08 现在,我们可以从views中去掉if not request.user.is_authenticated()验证.我们可以在URLconf中很容易的用requires_login来包装实现.
2.0/chapter08/#407 2010-01-01 17:34:53 函数requires_login,传入一个视图函数view,然后返回一个新的视图函数new_view.这个新的视图函数new_view在函数requires_login内定义
2.0/chapter08/#408 2010-01-01 17:40:14 处理request.user.is_authenticated()这个验证,从而决定是否授权原来的view函数
2.0/chapter08/#408 2010-01-01 17:41:26 处理request.user.is_authenticated()这个验证,从而决定是否执行原来的view函数
2.0/chapter08/#442 2010-01-01 17:53:54 在第一个URLconf中,r'^weblog/'匹配
2.0/chapter08/#443 2010-01-01 17:55:23 因为它有一个include(),django去掉了匹配的部,在这个例子中匹配的部分是'weblog/'
2.0/chapter08/#444 2010-01-01 17:56:58 剩下的部分是/2007/ (最前面有一个斜杠),不匹配mysite.blog.urls中的任何一行.
2.0/chapter08/#441 2010-01-01 17:57:53 /weblog//2007/(包含两个斜杠)
2.0/chapter08/#425 2010-01-01 18:00:43 在前面第6章介绍Django的admin模块时我们曾经见过include.
2.0/chapter08/#426 2010-01-01 18:01:51 admin模块有他自己的URLconf,你仅仅只需要在你自己的代码中加入include就可以了.
2.0/chapter08/#400 2010-01-01 18:16:19 (注意,虽然我们还没有讲到request.user,但是14章将要讲到它.就如你所想像的,request.user描述当前用户是登陆的还是匿名)
2.0/chapter08/#439 2010-01-01 18:18:31 .
2.0/chapter08/#380 2010-01-01 18:25:08 如果你在函数定义时,只在参数前面加一个*号,所有传递给函数的参数将会保存为一个元组.
2.0/chapter08/#381 2010-01-01 18:26:19 如果你在函数定义时,在参数前面加两个*号,所有传递给函数的关键字参数,将会保存为一个字典
2.0/chapter08/#391 2010-01-01 18:30:05 (我们通过指定pop的缺省值为None,来避免由于一个或者多个关键字缺失带来的KeyError)
2.0/chapter08/#378 2010-01-01 18:35:37 这里,我们重构method_splitter(),去掉了GET和POST两个关键字参数,改而支持使用*args和和**kwargs(注意*号)
2.0/chapter09/#179 2010-01-02 13:12:11 类似的,如果name包含一个 <literal>'<'</literal> 字符,就会变成这样?
2.0/chapter09/#261 2010-01-02 13:24:32 就像我们前面提到的,过滤器也可以是字符串.
2.0/chapter09/#264 2010-01-02 13:28:59 所有字符常量没有经过转义就被插入模板,就如同它们都经过了<literal> safe</literal> 过滤
2.0/chapter09/#265 2010-01-02 13:31:39 这是由于字符常量完全由模板作者决定,因此编写模板的时候必须确保文件的正确性.
2.0/chapter09/#267 2010-01-02 13:32:19 这意味着你必须这样写
2.0/chapter09/#270 2010-01-02 13:32:39 而不是这样
2.0/chapter09/#273 2010-01-02 13:34:19 这对来源于自变量的数据不起作用
2.0/chapter09/#273 2010-01-02 13:35:48 来源于自变量的数据不受影响
2.0/chapter09/#274 2010-01-02 13:44:30 如果必要,变量内容会自然的转义,因为它们始终都在模板作者的控制下.
2.0/chapter09/#236 2010-01-02 13:47:57 为了控制模板的自动转意,用标签<literal>autoescape </literal> 来包装整个模板(或者模板中常用的部分),就像这样
2.0/chapter09/#239 2010-01-02 13:51:28 <literal>autoescape </literal> 标签有两个参数<literal> on</literal><literal> off</literal>
2.0/chapter09/#240 2010-01-02 14:09:47 同时,你可能想阻止一部分自动转意,对另一部分自动转意
2.0/chapter09/#244 2010-01-02 14:16:03 auto-escaping 标签的作用域不公可以影响到当前模板还可以通过<literal>include </literal> 标签作用到其他标签,就像block标签一样
2.0/chapter09/#248 2010-01-02 14:23:14 由于在base模板中自动转意被关闭,所以在child模板中自动转意也会关闭.因此,在下面一段HTML被提交时,变量<literal>greeting </literal> 值就为字符串<literal>Hello! </literal>
2.0/chapter09/#253 2010-01-02 14:24:04 通常,模板作者没必要为自动转意担心
2.0/chapter09/#254 2010-01-02 14:27:32 基于pyhton的开发者(编写VIEWS视图和自定义过滤器)只需要考虑哪些数据不需要被转意,适时的标记数据,就可以让它们在模板中工作
2.0/chapter09/#256 2010-01-02 14:30:15 如果你正在编写一个模板而不知道是否要关闭自动转意,那就为所有需要转意的变量添加一个<literal> escape</literal> 过滤器.
2.0/chapter09/#236 2010-01-02 14:33:45 为了控制模板的自动转意,用标签autoescape来包装整个模板(或者模板中常用的部分),就像这样
2.0/chapter09/#239 2010-01-02 14:34:45 autoescape 标签有两个参数on和off
2.0/chapter09/#244 2010-01-02 14:35:31 auto-escaping 标签的作用域不仅可以影响到当前模板还可以通过include标签作用到其他标签,就像block标签一样
2.0/chapter09/#248 2010-01-02 14:36:11 由于在base模板中自动转意被关闭,所以在child模板中自动转意也会关闭.因此,在下面一段HTML被提交时,变量greeting的值就为字符串Hello!
2.0/chapter09/#256 2010-01-02 14:37:02 如果你正在编写一个模板而不知道是否要关闭自动转意,那就为所有需要转意的变量添加一个escape过滤器.
2.0/chapter09/#264 2010-01-02 14:37:30 所有字符常量没有经过转义就被插入模板,就如同它们都经过了safe过滤
2.0/chapter09/#265 2010-01-02 14:38:16 这是由于字符常量完全由模板作者决定,因此编写模板的时候必须确保文本的正确性.
2.0/chapter09/#253 2010-01-02 15:34:25 通常,模板作者没必要为自动转意担心.
2.0/chapter09/#257 2010-01-02 15:37:55 当自动转意开启时,使用escape过滤器似乎会两次转意数据,但其实没有任何危险.因为escape过滤器不作用于被转意的变量.
2.0/chapter10/#184 2010-01-05 16:00:42 例如,我们为Book模型定义了一个title_count()方法,它需要一个关键字,返回包含这个关键字的书的数量.
2.0/chapter10/#193 2010-01-05 16:02:42 我们建立了一个BookManager类,它继承了django.db.models.Manager.只拥有一个title_count()方法用来做统计.
2.0/chapter10/#194 2010-01-05 16:03:27 注意,这个方法使用了self.filter(),此处self指manager本身
2.0/chapter10/#196 2010-01-05 16:04:08 我们把BookManager()赋值给模型的objects属性
2.0/chapter10/#196 2010-01-05 16:04:40 我们把BookManager()赋值给模型的objects属性.
« < 3 4 5 6 7 8 9 > » 96 pages