Changelog

全名 页面 提交时间 (Descending) Unsort 内容 注释 ...
Tony CHEN 2.0/chapter02/#308 2009-10-30 19:08:48 它开始工作了。
Tony CHEN 2.0/chapter02/#307 2009-10-30 19:08:32 你应该可以看到一个令人赏心悦目的的淡蓝色Django欢迎页面。
Tony CHEN 2.0/chapter02/#306 2009-10-30 19:07:40 既然服务器已经运行起来了,现在用网页浏览器访问 <reference name="http://127.0.0.1:8000/" refuri="http://127.0.0.1:8000/">http://127.0.0.1:8000/</reference>
Tony CHEN 2.0/chapter02/#305 2009-10-30 19:07:16 这将会启动一个本地服务器,端口号是8000。并且这个服务器只能被你的这台电脑连接和访问。
Tony CHEN 2.0/chapter02/#299 2009-10-30 19:05:33 要运行你的服务器,请切换到你的项目目录里 (<literal>cd mysite</literal> )。如果你还没准备好,那么运行下面的命令:
Tony CHEN 2.0/chapter04/#780 2009-10-30 19:01:04 (如果你是跟着来的话,保存这个文件到你的template目录下,命名为 <literal>base.html</literal> .)
Tony CHEN 2.0/chapter04/#730 2009-10-30 18:59:51 若果碰到一个没有定义名字的 <literal>{% include %}</literal>标签,Django将会在下面两个处理方法中选择一个:
Tony CHEN 2.0/chapter04/#728 2009-10-30 18:56:19 如果你用一个包含 <literal>current_section</literal>的上下文去渲染 <literal>mypage.html</literal>这个模板文件,这个变量将存在于它所包含(include)的模板里,就像你想象的那样。
Tony CHEN 2.0/chapter04/#725 2009-10-30 18:53:39 举例说,考虑下面两个模板文件:
Tony CHEN 2.0/chapter04/#699 2009-10-30 18:53:04 只要你喜欢,用多少层的子目录都无所谓。
Tony CHEN 2.0/chapter04/#646 2009-10-30 18:51:57 这是一个普遍存在的重复苦力劳动。Django为此提供了一个捷径,让你一次性地载入某个模板文件,渲染它,然后将此作为 <literal>HttpResponse</literal>返回。
Tony CHEN 2.0/chapter04/#645 2009-10-30 18:49:25 但这仍然需要一定量的时间来敲出这些简化的代码。
Tony CHEN 2.0/chapter04/#644 2009-10-30 18:48:23 我们已经优化了方案,使用 <literal>get_template()</literal> 方法代替繁杂的用代码来处理模板及其路径的工作。
Tony CHEN 2.0/chapter04/#625 2009-10-30 18:45:14 接着,告诉你的浏览器,使其定位到指定页面以激活<literal>current_datetime</literal>视图(如 <literal>http://127.0.0.1:8000/time/</literal> )。假设你的 <literal>DEBUG</literal>项设置为 <literal>True</literal>,而你有没有建立<literal>current_datetime.html</literal> 这个模板文件,你会看到Django的错误提示网页,告诉你发生了 <literal>TemplateDoesNotExist</literal> 错误。
Tony CHEN 2.0/chapter04/#621 2009-10-30 18:40:52 要定位某个模板文件在你的系统里的位置, <literal>get_template()</literal>方法会自动为你连接已经设置的 <literal>TEMPLATE_DIRS</literal>目录和你传入该法的模板名称参数。比如,你的 <literal>TEMPLATE_DIRS</literal>目录设置为 <literal>'/home/django/mysite/templates'</literal>,上面的 <literal>get_template()</literal>调用就会为你找到 <literal>/home/django/mysite/templates/current_datetime.html</literal> 这样一个位置。
Tony CHEN 2.0/chapter04/#574 2009-10-30 18:35:00 它的默认设置是一个空元组(tuple),加上一些自动生成的注释。
Tony CHEN 2.0/chapter04/#609 2009-10-30 18:02:12 如果你在这里引入了语法错误,或运行错误,你的Django-powered站点将很可能就要被崩溃掉。
Tony CHEN 2.0/chapter04/#643 2009-10-30 17:59:26 我们已经告诉你如何载入一个模板文件,然后用 <literal>Context</literal>渲染它,最后返回这个处理好的<literal>HttpResponse</literal>对象给用户。
Tony CHEN 2.0/chapter04/#629 2009-10-30 17:57:31 模板文件无法找到时,将会发送提示错误的网页给用户。
Tony CHEN 2.0/chapter04/#619 2009-10-30 17:56:17 你可以选择任意后缀的任意文件,只要是符合逻辑的都行。甚至选择没有后缀的文件也不会有问题。
Tony CHEN 2.0/chapter04/#618 2009-10-30 17:54:13 在这个例子里,我们选择的模板文件是<literal>current_datetime.html</literal>,但这个与<literal>.html</literal>后缀没有直接的联系。
Tony CHEN 2.0/chapter04/#608 2009-10-30 17:51:52 在这里我们面对的是动态语言python代码,我需要提醒你的是,不要在你的设置文件里写入错误的代码,这很重要。
Tony CHEN 2.0/chapter04/#606 2009-10-30 17:48:07 <literal> os.path.dirname(__file__)</literal> 将会获取自身所在的文件,即<literal>settings.py</literal> 所在的目录,然后由<literal>os.path.join</literal> 这个方法将这目录与 <literal>templates</literal> 进行连接。如果在windows下,它会智能地选择正确的后向斜杠"\"进行连接,而不是前向斜杠"/"。
Tony CHEN 2.0/chapter04/#591 2009-10-30 17:39:52 Good:
Tony CHEN 2.0/chapter04/#588 2009-10-30 17:39:31 Bad:
Tony CHEN 2.0/chapter04/#573 2009-10-30 17:35:24 如果你是一步步跟随我们学习过来的,马上打开你的<literal>settings.py</literal>配置文件,找到<literal>TEMPLATE_DIRS</literal>这项设置吧。
Tony CHEN 2.0/chapter06/#24 2009-10-30 15:08:46 django.contrib 包
Tony CHEN 2.0/chapter06/#5 2009-10-30 14:43:16 一些常见的例子:
Tony CHEN 2.0/chapter04/#602 2009-10-30 14:30:24 例如:
Tony CHEN 2.0/chapter04/#586 2009-10-30 14:30:11 如果你的 <literal>TEMPLATE_DIRS</literal>只包含一个目录,别忘了在该目录后加上个逗号。
Tony CHEN 2.0/chapter04/#784 2009-10-30 14:27:41 每个<literal>{% block %}</literal>标签所要做的是告诉模板引擎,该模板下的这一块内容将有可能被子模板覆盖。
Tony CHEN 2.0/chapter04/#802 2009-10-30 14:24:38 所以,网页标题一块将由 <literal>{% block title %}</literal>替换,同样地,网页的内容一块将由 <literal>{% block content %}</literal>替换。
Tony CHEN 2.0/chapter04/#808 2009-10-30 14:23:00 换句话说,任何处在继承树上的模板,将可以访问到你传到模板中的每一个模板变量。
Tony CHEN 2.0/chapter04/#807 2009-10-30 14:20:55 继承并不会影响到模板的上下文。
Tony CHEN 2.0/chapter04/#810 2009-10-30 14:20:24 你可以根据需要使用任意多的继承次数。
Tony CHEN 2.0/chapter04/#834 2009-10-30 14:19:23 如果你需要访问父模板中的块的内容,使用 <literal>{{ block.super }}</literal>这个标签吧,这一个魔法变量将会表现出父模板中的内容。
Tony CHEN 2.0/chapter04/#571 2009-10-30 14:14:41 设置的保存文件就是我们前一章节中提到的 <literal>settings.py</literal>,在讲述 <literal>ROOT_URLCONF</literal>配置的时候。
Tony CHEN 2.0/chapter04/#564 2009-10-30 14:12:02 为了解决这些问题,我们采用了 <emphasis>模板自加载</emphasis><emphasis>模板目录</emphasis> 的技巧.
Tony CHEN 2.0/chapter04/#504 2009-10-30 14:09:26 你将在后续的“视图中应用模板”这一章节中看到,你还可以非常容易地在Django中使用其他的模板语言。
Tony CHEN 2.0/chapter04/#503 2009-10-30 14:07:53 因为Django 虽然被设计成一个FULL-Stack的Web框架,它提供了开发者所必需的所有组件,而且在大多数情况 使用Django模板系统会比其他的Python模板库要 <emphasis>更方便</emphasis> 一点,但是并不是严格要求你必须使用 它。
Tony CHEN 2.0/chapter04/#495 2009-10-30 14:06:23 相对与其他的网络应用的组件,模板的语法很具观性,因此可供程序员的选择方案也很广泛。
Tony CHEN 2.0/chapter04/#464 2009-10-30 14:03:06 过滤管道可以被<emphasis> 套接</emphasis> ,既是说,一个过滤器管道的输出又可以作为下一个管道的输入,如此下去。
Tony CHEN 2.0/chapter04/#448 2009-10-30 13:58:41 用这种语法的注释不能跨越多行。
Tony CHEN 2.0/chapter04/#409 2009-10-30 13:57:35 模板的语法分析器在遇到<literal>{% endfor %}</literal>标签后,就会结束 <literal>forloop</literal>循环。
Tony CHEN 2.0/chapter04/#401 2009-10-30 13:53:15 另一个常见的用途是为列表的每个单词的加上逗号。
Tony CHEN 2.0/chapter04/#398 2009-10-30 13:51:27 上面的模板可能会产生如下的结果:
Tony CHEN 2.0/chapter04/#342 2009-10-30 13:50:31 请使用嵌套的<literal> {% if %}</literal> 标签来达成同样的效果:
Tony CHEN 2.0/chapter04/#341 2009-10-30 13:50:01 并没有 <literal>{% elif %}</literal> 标签,
Tony CHEN 2.0/chapter04/#334 2009-10-30 13:49:29 或者,仅仅用嵌套的<literal>{% if %}</literal>标签替换吧,就像这样:
Tony CHEN 2.0/chapter04/#333 2009-10-30 13:47:24 如果你确实需要用到圆括号来组合表达你的逻辑式,考虑将它移到模板之外处理,然后以模板变量的形式传入结果吧。
« < 75 76 77 78 79 80 81 > » 96 pages