ySJ
|
2.0/chapter05/#196 |
2010-04-12 10:00:39
|
(我们上一章提到过在,Django配置正确的前提下,<literal> manager.py shell</literal> 命令是启用Python交互解释器的一种方法。)
|
|
ySJ
|
2.0/chapter05/#177 |
2010-04-12 09:57:17
|
在这个例子中,我们将SQLite数据库放在/home/django目录下,你可以任意选用最合适你的目录。
|
|
ySJ
|
2.0/chapter05/#177 |
2010-04-12 09:45:50
|
在这个例子中,我们将SQLite数据库放在/home/django目录下,你可以选用任何方便的目录。
|
|
ySJ
|
2.0/chapter05/#163 |
2010-04-12 09:42:49
|
如果你使用Linux,你的发布包管理系统会提供合适的包。
|
|
ySJ
|
2.0/chapter05/#163 |
2010-04-12 09:42:37
|
如果你使用Linux,你的发布包管理系统会提供合适的软件包。
|
|
ySJ
|
2.0/chapter05/#128 |
2010-04-12 09:41:36
|
所需适配器
|
|
ySJ
|
2.0/chapter05/#128 |
2010-04-12 09:38:33
|
需要的适配器
|
|
ySJ
|
2.0/chapter05/#108 |
2010-04-12 09:37:06
|
我们假定你已经完成了数据库服务器的安装和激活,并且已经在其中创建了数据库(例如,用 <literal>CREATE DATABASE</literal> 语句)。
|
|
ySJ
|
2.0/chapter05/#106 |
2010-04-12 09:34:39
|
首先,我们需要做些初始配置;我们需要告诉Django使用什么数据库以及如何连接数据库。
|
|
ySJ
|
2.0/chapter05/#97 |
2010-04-12 09:32:50
|
在 Django 对 MVC 的诠释中,视图用来描述要展现给用户的数据;不是数据 <emphasis>如何</emphasis>展现 ,而且展现 <emphasis>哪些</emphasis> 数据。
|
|
ySJ
|
2.0/chapter05/#97 |
2010-04-12 09:31:39
|
在 Django 对 MVC 的诠释中,视图用来描述要展现给用户的数据;不仅仅是数据看起来 <emphasis>怎么样</emphasis> ,而是要呈现 <emphasis>哪些</emphasis> 数据。
|
|
ySJ
|
2.0/chapter05/#77 |
2010-04-12 09:28:49
|
<emphasis>V</emphasis> ,选择显示哪些数据要显示以及怎样显示的部分,由视图和模板处理。
|
|
ySJ
|
2.0/chapter05/#85 |
2010-04-12 09:24:11
|
如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
|
|
ySJ
|
2.0/chapter05/#79 |
2010-04-12 09:21:51
|
<emphasis>C</emphasis> ,根据用户输入委派视图的部分,由 Django 框架根据 URLconf 设置,对给定 URL 调用适当的 Python 函数。
|
|
ySJ
|
2.0/chapter05/#70 |
2010-04-12 09:15:45
|
比起告诉同事,“让我们采用抽象的数据存取方式,然后单独划分一层来显示数据,并且在中间加上一个控制它的层”,一个通用的说法会让你收益,你只需要说:“我们在这里使用MVC模式吧。”。
|
|
ySJ
|
2.0/chapter05/#23 |
2010-04-11 16:57:17
|
你也许能够跟上进度,并在上下文学习过程中掌握一些概念。)
|
|
ySJ
|
2.0/chapter05/#21 |
2010-04-11 16:56:18
|
尽管对 Django 数据库层的使用中并不特别强调这点,但是我们还是强烈建议您掌握一些数据库和 SQL 原理。
|
|
ySJ
|
2.0/chapter05/#10 |
2010-04-11 16:55:00
|
这个网站也可能会向访问者提供修改数据库数据的方法。
|
|
ySJ
|
2.0/chapter05/#14 |
2010-04-11 16:52:36
|
本质上,每个产品页面都是数据库中数据以 HTML格式进行的展现,而当你发表客户评论时,该评论被插入评论数据库中。
|
|
ySJ
|
2.0/chapter05/#8 |
2010-04-11 16:46:42
|
在当代 Web 应用中,主观逻辑经常牵涉到与数据库的交互。
|
|
ySJ
|
2.0/chapter05/#5 |
2010-04-11 16:46:09
|
正如我们所阐述的,视图负责处理<emphasis>一些主观逻辑</emphasis>,然后返回响应结果。
|
|
ySJ
|
2.0/chapter05/#5 |
2010-04-11 16:45:30
|
正如我们所阐述的,视图负责处理<emphasis>一些任意逻辑</emphasis>,然后返回响应结果。
|
|
ySJ
|
2.0/chapter05/#4 |
2010-04-11 16:44:34
|
建立视图和 URLConf 。
|
|
zhaohongjian000@gmail.com
|
2.0/chapter12/#187 |
2010-04-11 15:47:39
|
<literal></literal> |
|
zhaohongjian000@gmail.com
|
2.0/chapter12/#187 |
2010-04-11 15:45:47
|
<literal></literal> |
|
zhaohongjian000@gmail.com
|
2.0/chapter12/#186 |
2010-04-11 15:44:18
|
后者用于指向你的文件系统中的一个位置,然而 <literal></literal>
指向一个 Web 站点的 URL 位置。
|
|
zhaohongjian000@gmail.com
|
2.0/chapter12/#185 |
2010-04-11 15:42:38
|
注意这里使用 <literal></literal> 指令而不是 <literal></literal> 。
|
下一句的翻译放在了这一句
|
zhaohongjian000@gmail.com
|
2.0/chapter12/#247 |
2010-04-11 15:38:22
|
除非你的 Django 设置的确出了问题。
|
修改
|
ySJ
|
2.0/chapter17/#261 |
2010-04-09 17:18:57
|
这些中间件互相配合以缓存每个基于Django的页面。
|
|
ySJ
|
2.0/chapter17/#261 |
2010-04-09 17:13:59
|
这些中间件协同工作以缓存每个基于Django的页面。
|
|
ySJ
|
2.0/chapter17/#77 |
2010-04-09 17:12:38
|
process_request(self, request)
|
|
ySJ
|
2.0/chapter04/#855 |
2010-04-09 17:10:38
|
下一章将讲述如何与数据库打交道。
|
|
ySJ
|
2.0/chapter04/#853 |
2010-04-09 17:09:43
|
这使得数据和逻辑能够彻底地分开(视图和模板也以同样方式对逻辑和显示进行了分隔。)
|
|
ySJ
|
2.0/chapter04/#839 |
2010-04-09 17:07:51
|
也就是说,block 标签不仅挖了一个要填的坑,也定义了在<emphasis>父</emphasis>模板中这个坑所填充的内容。如果模板中出现了两个相同名称的 <emphasis>{% block %}</emphasis> 标签,父模板将无从得知要使用哪个块的内容。
|
|
ySJ
|
2.0/chapter04/#838 |
2010-04-09 17:06:09
|
存在这样的限制是因为block 标签的工作方式是双向的。
|
|
ySJ
|
2.0/chapter04/#837 |
2010-04-09 17:05:42
|
不允许在同一个模板中定义多个同名的 <literal>{% block %}</literal> 。
|
|
ySJ
|
2.0/chapter04/#808 |
2010-04-09 17:01:26
|
换句话说,任何处在继承树上的模板都可以访问到你传到模板中的每一个模板变量。
|
|
ySJ
|
2.0/chapter04/#780 |
2010-04-09 16:53:05
|
(如果你一直按顺序学习到这里,保存这个文件到你的template目录下,命名为 <literal>base.html</literal> .)
|
|
ySJ
|
2.0/chapter04/#744 |
2010-04-09 16:47:19
|
但是用 Django 解决此类问题的首选方法是使用更加优雅的策略—— <emphasis>模板继承</emphasis> 。
|
|
ySJ
|
2.0/chapter04/#730 |
2010-04-09 16:45:03
|
如果<literal>{% include %}</literal>标签指定的模板没找到,Django将会在下面两个处理方法中选择一个:
|
|
ySJ
|
2.0/chapter04/#713 |
2010-04-09 16:40:41
|
下面这两个例子都包含了 <literal>nav.html</literal> 模板。这两个例子是等价的,它们证明单/双引号都是允许的。
|
|
ySJ
|
2.0/chapter04/#689 |
2010-04-09 16:35:20
|
事实上,我们推荐这样做;一些Django的高级特性(例如将在第十一章讲到的通用视图系统)的缺省约定就是期望使用这种模板布局。
|
|
ySJ
|
2.0/chapter04/#682 |
2010-04-09 16:33:51
|
使用 <literal>locals()</literal> 时要注意是它将包括 <emphasis>所有</emphasis> 的局部变量,它们可能比你想让模板访问的要多。
|
|
ySJ
|
2.0/chapter04/#672 |
2010-04-09 16:30:28
|
不仅多余,而且需要额外的输入。
|
|
ySJ
|
2.0/chapter04/#671 |
2010-04-09 16:29:47
|
尤其喜欢偷懒的程序员应该注意到了,不断地为临时变量<emphasis>和</emphasis>临时模板命名有那么一点点多余。
|
|
ySJ
|
2.0/chapter04/#670 |
2010-04-09 16:26:19
|
很多时候,就像在这个范例中那样,你发现自己一直在计算某个变量,保存结果到变量中(比如前面代码中的 now ),然后将这些变量发送给模板。
|
|
ySJ
|
2.0/chapter04/#648 |
2010-04-09 16:23:38
|
该捷径就是位于 <literal>django.shortcuts</literal> 模块中名为 <literal>render_to_response()</literal> 的函数。大多数情况下,你会使用<literal></literal><literal></literal><literal></literal>对象,除非你的老板以代码行数来衡量你的工作。
|
|
ySJ
|
2.0/chapter04/#634 |
2010-04-09 16:18:32
|
当你尝试调试模板加载错误时,这些信息会非常有帮助。
|
|
ySJ
|
2.0/chapter04/#633 |
2010-04-09 16:17:36
|
该区域显示 Django 要加载哪个模板、每次尝试出错的原因(如:文件不存在等)。
|
|
ySJ
|
2.0/chapter04/#628 |
2010-04-09 16:16:06
|
图 4-1:
|
|