Changelog

全名 (Ascending) Unsort 页面 提交时间 内容 注释 ...
ySJ 2.0/chapter09/#208 2010-04-15 19:08:11 <literal>'</literal>(单引号)被转换为<literal>'</literal>
ySJ 2.0/chapter09/#254 2010-04-15 19:36:08 基于Pyhton的开发者(编写VIEWS视图和自定义过滤器)只需要考虑哪些数据不需要被转意,适时的标记数据,就可以让它们在模板中工作。
ySJ 2.0/chapter09/#256 2010-04-15 19:37:02 如果你正在编写一个模板而不知道是否要关闭自动转意,那就为所有需要转意的变量添加一个escape过滤器。
ySJ 2.0/chapter09/#257 2010-04-15 19:38:03 当自动转意开启时,使用escape过滤器似乎会两次转意数据,但其实没有任何危险。因为escape过滤器不作用于被转意过的变量。
ySJ 2.0/chapter09/#259 2010-04-15 19:42:06 过滤器参数里的字符串常量的自动转义
ySJ 2.0/chapter09/#264 2010-04-15 19:42:39 所有字符常量没有经过转义就被插入模板,就如同它们都经过了safe过滤。
ySJ 2.0/chapter09/#265 2010-04-15 19:43:47 这是由于字符常量完全由模板作者决定,因此编写模板的时候他们会确保文本的正确性。
ySJ 2.0/chapter09/#273 2010-04-15 19:44:38 来源于变量本身的数据不受影响。
ySJ 2.0/chapter09/#274 2010-04-15 19:46:46 如果必要,变量内容会自动转义,因为它们不在模板作者的控制下。
ySJ 2.0/chapter09/#273 2010-04-15 19:47:47 这点对来自变量本身的数据不起作用。
ySJ 2.0/chapter09/#285 2010-04-15 19:49:47 <literal>django.template.loader.select_template(template_name_list)</literal><literal>select_template</literal> 很像 <literal>get_template</literal> ,不过它是以模板名称的列表作为参数的。
ySJ 2.0/chapter09/#286 2010-04-15 19:51:10 它会返回列表中存在的第一个模板。
ySJ 2.0/chapter09/#248 2010-04-15 19:29:28 由于在base模板中自动转意被关闭,所以在child模板中自动转意也会关闭.因此,在下面一段HTML被提交时,变量greeting的值就为字符串Hello!
ySJ 2.0/chapter09/#244 2010-04-15 19:26:39 auto-escaping 标签的作用域不仅可以影响到当前模板还可以通过include标签作用到其他标签,就像block标签一样。
ySJ 2.0/chapter09/#241 2010-04-15 19:26:08 这是一个模板的例子:
ySJ 2.0/chapter09/#212 2010-04-15 19:08:41 <literal>&</literal>被转换为<literal>&</literal>
ySJ 2.0/chapter09/#212 2010-04-15 19:09:15 <literal>&</literal>被转换为<literal>&</literal>
ySJ 2.0/chapter09/#219 2010-04-15 19:10:13 如果你不想数据被自动转意,在每一站点级别、每一模板级别或者每一变量级别你都有几种方法来关闭它。
ySJ 2.0/chapter09/#222 2010-04-15 19:15:11 因为有时候模板变量包含了一些原始html数据,在这种情况下我们不想它们的内容被转意。
ySJ 2.0/chapter09/#223 2010-04-15 19:18:10 例如,你可能在数据库里存储了一段被信任的html代码,并且你想直接把它嵌入到你的模板里。
ySJ 2.0/chapter09/#224 2010-04-15 19:18:45 或者,你可能正在使用Django的模板系统生成非html文本,比如一封e-mail。
ySJ 2.0/chapter09/#226 2010-04-15 19:19:12 对于单独的变量
ySJ 2.0/chapter09/#231 2010-04-15 19:23:48 你可以把<emphasis>safe</emphasis>当做<emphasis>safe from further escaping</emphasis>的简写,或者<emphasis>当做可以被直接译成HTML的内容</emphasis>。在这个例子里,如果<literal>数据</literal>包含<literal>''</literal>,那么输出会变成:
ySJ 2.0/chapter09/#234 2010-04-15 19:24:15 对于模板块
ySJ 2.0/chapter09/#236 2010-04-15 19:25:03 为了控制模板的自动转意,用标签autoescape来包装整个模板(或者模板中常用的部分),就像这样:
ySJ 2.0/chapter09/#240 2010-04-15 19:25:52 有时,你可能想阻止一部分自动转意,对另一部分自动转意。
ySJ 2.0/chapter09/#287 2010-04-15 19:51:48 如果模板都不存在,将会触发<literal>TemplateDoesNotExist</literal>异常。
ySJ 2.0/chapter09/#174 2010-04-15 18:38:35 用这个用户名,模板将被渲染成:
ySJ 2.0/chapter08/#413 2010-04-14 17:13:14 优化后的代码和前面的功能一样,但是减少了代码冗余。
ySJ 2.0/chapter08/#472 2010-04-14 17:47:28 因此,这个技术只有在你确定被包含指向的每个视图都正确接收这些额外选项的时候才有用。
ySJ 2.0/chapter08/#476 2010-04-14 17:48:19 这一章提供了很多视图和URLconfs的高级提示和技巧。
ySJ 2.0/chapter08/#476 2010-04-14 17:48:33 这一章提供了很多关于视图和URLconfs的高级提示和技巧。
ySJ 2.0/chapter08/#476 2010-04-14 17:48:45 这一章提供了很多关于视图和URLconfs的高级提示技巧。
ySJ 2.0/chapter08/#477 2010-04-14 17:49:46 接下来,在<reference name="Chapter 9" refuri="../chapter09/">第九章</reference>,我们将会把这个先进的处理方案应用到Django的模板系统。
ySJ 2.0/chapter08/#480 2010-04-14 17:50:40 Hosting公司谨奉
ySJ 2.0/chapter09/#3 2010-04-15 11:03:32 虽然大多数和Django模板语言的交互都是模板作者的工作,但你可能想定制和扩展模板引擎,让它做一些它不能做的事情,或者是以其他方式让你的工作更轻松。
ySJ 2.0/chapter09/#7 2010-04-15 11:05:03 它也包含一个自动转意特征,如果你继续使用django,随着时间的推移你一定会注意这个安全考虑。
ySJ 2.0/chapter09/#9 2010-04-15 11:08:35 如果你想把Django的模版系统作为另外一个应用程序的一部分(就是说,仅使用Django的模板系统而不使用Django框架的其他部分),那你一定要读一下“配置独立模式下的模版系统”这一节。
ySJ 2.0/chapter09/#13 2010-04-15 11:08:54 首先,让我们快速回顾一下第四章介绍的若干专业术语:
ySJ 2.0/chapter09/#15 2010-04-15 11:09:31 <emphasis>模板</emphasis> 是一个纯文本文件,或是一个用Django模板语言标记过的普通的Python字符串。
ySJ 2.0/chapter08/#471 2010-04-14 17:46:15 这个例子和前面关于被捕获的参数一样(在上一节就解释过这一点),额外的选项将 <emphasis>总是</emphasis> 被传递到被包含的URLconf中的 <emphasis>每一</emphasis> 行,不管那一行对应的视图是否确实作为有效参数接收这些选项。
ySJ 2.0/chapter08/#463 2010-04-14 17:45:13 比如,下面的两个URLconf在功能上是一样的。
ySJ 2.0/chapter08/#456 2010-04-14 17:44:14 因此,这个技术只有在你确定被包含只向的每个视图都需要那个被传递的参数的时候才有用。
ySJ 2.0/chapter08/#407 2010-04-14 17:15:43 函数requires_login,传入一个视图函数view,然后返回一个新的视图函数new_view.这个新的视图函数new_view在函数requires_login内定义,
ySJ 2.0/chapter08/#408 2010-04-14 17:16:23 它处理request.user.is_authenticated()这个验证,从而决定是否执行原来的view函数。
ySJ 2.0/chapter08/#414 2010-04-14 17:21:15 现在我们创建了一个漂亮而通用的函数requires_login()来帮助我们包装所有需要验证是否登录的视图。
ySJ 2.0/chapter08/#418 2010-04-14 17:24:07 如果你试图让你的代码用在多个基于Django的站点上,你应该考虑以能被包含的方式来处理你的URLconf。
ySJ 2.0/chapter08/#421 2010-04-14 17:26:02 本质上这是把URL连接成树。
ySJ 2.0/chapter08/#425 2010-04-14 17:26:57 (之前在第6章介绍Django的admin模块时我们曾经见过include。
ySJ 2.0/chapter08/#426 2010-04-14 17:27:12 admin模块有他自己的URLconf,你仅仅只需要在你自己的代码中加入include就可以了。)
« < 88 89 90 91 92 93 94 > » 96 pages