IIssNan
|
2.0/chapter05/#219 |
2009-10-26 10:48:00
|
环境变量 DJANGO_SETTINGS_MODULE 未定义。
|
|
IIssNan
|
2.0/chapter05/#217 |
2009-10-26 10:47:25
|
表格 5-1 列出可用的值。
|
|
IIssNan
|
2.0/chapter05/#195 |
2009-10-26 10:42:09
|
我们可以在<literal> mysite</literal> 项目目录下执行上章所提到的<literal> python manager.py shell</literal> 来进行测试。
|
|
IIssNan
|
2.0/chapter05/#194 |
2009-10-26 10:37:55
|
一旦在输入了那些设置并保存之后应当测试一下你的配置。
|
|
IIssNan
|
2.0/chapter05/#180 |
2009-10-26 10:35:23
|
例如:
|
|
IIssNan
|
2.0/chapter05/#177 |
2009-10-26 10:34:05
|
对于SQLite数据库的存放,这个例子将其存放在/home/django目录下,你可以使用任意对你来说最便捷的目录。
|
|
IIssNan
|
2.0/chapter05/#174 |
2009-10-26 10:29:44
|
例如:
|
|
IIssNan
|
2.0/chapter05/#173 |
2009-10-26 10:29:12
|
如果使用 SQLite,请对数据库文件指定完整的文件系统路径。
|
|
IIssNan
|
2.0/chapter05/#169 |
2009-10-26 10:28:59
|
<literal>DATABASE_NAME</literal> 将数据库名称告知 Django 。
|
|
IIssNan
|
2.0/chapter05/#164 |
2009-10-26 10:28:10
|
比如,查找<literal> python-postgresql</literal> 或者<literal> python-psycopg</literal> 的软件包
|
|
IIssNan
|
2.0/chapter05/#112 |
2009-10-26 10:24:56
|
打开这个文件并查找数据库配置:
|
|
IIssNan
|
2.0/chapter05/#111 |
2009-10-26 10:24:41
|
象前面章节提到的 <literal>TEMPLATE_DIRS</literal> 一样,数据库配置也是在Django的配置文件里,缺省 是 <literal>settings.py</literal> 。
|
|
IIssNan
|
2.0/chapter05/#45 |
2009-10-26 10:17:51
|
理想情况下,应对所使用的数据库服务器进行抽象,这样一来只在一处修改即可变换数据库服务器。
|
|
IIssNan
|
2.0/chapter05/#44 |
2009-10-26 10:17:36
|
如果过段时间,我们要从 MySQL 换到 PostgreSQL,就不得不使用不同的数据库适配器(例如 <literal>psycopg</literal> 而不是 <literal>MySQLdb</literal> ),改变连接参数,根据 SQL 语句的类型可能还要修改SQL 。
|
|
IIssNan
|
2.0/chapter03/#360 |
2009-10-26 10:03:33
|
让我们创建第三个视图来显示当前时间和加上时间偏差量的时间,设计是这样的:
|
|
IIssNan
|
2.0/chapter03/#356 |
2009-10-26 10:03:13
|
在我们的<literal> current_datetime</literal> 视图范例中,尽管内容是动态的,但是URL ( <literal>/time/</literal> )是静态的。
|
|
IIssNan
|
2.0/chapter03/#244 |
2009-10-26 10:01:19
|
当访问 URL <literal>/hello/</literal> 时,Django 根据 <literal>ROOT_URLCONF</literal> 的设置装载 URLconf 。 然后按顺序逐个匹配URLconf里的URLpatterns,直到找到一个匹配的。
|
|
IIssNan
|
2.0/chapter03/#201 |
2009-10-26 10:00:41
|
处理URL <literal>/hello/</literal> 。 当请求其他URL会怎么样呢?
|
|
IIssNan
|
2.0/chapter03/#138 |
2009-10-26 10:00:10
|
启动Django开发服务器来测试修改好的 URLconf, 运行命令行 <literal>python manage.py runserver</literal> 。 (如果你让它一直运行也可以,开发服务器会自动监测代码改动并自动重新载入,所以不需要手工重启) 开发服务器的地址是 http://127.0.0.1:8000/ ,打开你的浏览器访问 http://127.0.0.1:8000/hello/ 。 你就可以看到输出结果了。
|
|
IIssNan
|
2.0/chapter03/#96 |
2009-10-26 09:59:09
|
简单来说,我们只是告诉 Django,所有指向 URL <literal>/hello/</literal> 的请求都应由 <literal>hello</literal> 这个视图函数来处理。
|
|
IIssNan
|
2.0/chapter03/#91 |
2009-10-26 09:58:01
|
首先,我们从模块 (在 Python 的 import 语法中, <literal>mysite/views.py</literal> 转译为 <literal>mysite.views</literal> ) 中引入了 <literal>hello</literal> 视图。
|
|
IIssNan
|
2.0/chapter03/#24 |
2009-10-26 09:56:37
|
我们的Hello world视图非常简单。
|
|
Gw
|
2.0/chapter05/#173 |
2009-10-26 09:44:25
|
如果你用SQLITE,请指定数据库所在文件系统的全路径
|
|
IIssNan
|
2.0/chapter04/#545 |
2009-10-26 01:03:14
|
也就是说,模板仍然嵌入在Python代码里,并未真正的实现数据与表现的分离。
|
|
IIssNan
|
2.0/chapter04/#488 |
2009-10-26 00:57:26
|
对于字符串,这个参数将返回字符串中字符的个数。
|
|
IIssNan
|
2.0/chapter04/#487 |
2009-10-26 00:56:49
|
对于列表,这个参数将返回列表元素的个数。
|
|
IIssNan
|
2.0/chapter04/#469 |
2009-10-26 00:55:25
|
过滤器的参数跟随冒号之后并且总是以双引号包含。
|
|
IIssNan
|
2.0/chapter04/#465 |
2009-10-26 00:54:08
|
下面的例子实现查找列表的第一个元素并将其转化为大写。
|
|
IIssNan
|
2.0/chapter04/#470 |
2009-10-26 00:52:15
|
例如:
|
|
IIssNan
|
2.0/chapter04/#476 |
2009-10-26 00:51:55
|
附录F包含其余的过滤器。
|
|
IIssNan
|
2.0/chapter04/#475 |
2009-10-26 00:51:21
|
以下几个是最为重要的过滤器的一小部分。
|
|
IIssNan
|
2.0/chapter04/#459 |
2009-10-26 00:46:39
|
过滤器使用管道字符,如下所示:
|
|
IIssNan
|
2.0/chapter04/#453 |
2009-10-26 00:45:26
|
如果要实现多行注释,可以使用<literal> {% comment %}</literal> 模板标签,就像这样:
|
|
IIssNan
|
2.0/chapter04/#442 |
2009-10-26 00:42:59
|
就像HTML或者Python,Django模板语言同样提供代码注释。
|
|
IIssNan
|
2.0/chapter04/#374 |
2009-10-26 00:34:25
|
在每个<literal> {% for %}</literal>循环里有一个称为<literal> forloop</literal> 的模板变量。这个变量有一些提示循环进度信息的属性。
|
|
IIssNan
|
2.0/chapter04/#365 |
2009-10-26 00:30:50
|
因为这种做法十分常见,所以<literal> for</literal> 标签支持一个可选的<literal> {% empty %}</literal> 分句,通过它我们可以定义当列表为空时的输出内容
|
|
IIssNan
|
2.0/chapter04/#374 |
2009-10-26 00:30:08
|
在每个<literal> {% for %}</literal> |
|
IIssNan
|
2.0/chapter04/#366 |
2009-10-26 00:27:28
|
下面的例子与之前那个等价:
|
|
IIssNan
|
2.0/chapter04/#365 |
2009-10-26 00:26:48
|
因为这种做法十分常见,所以for标签支持一个可选的empty分句,通过它我们可以定义当列表为空时的输出内容
|
|
|
2.0/chapter03/#152 |
2009-10-26 00:24:00
|
|
|
IIssNan
|
2.0/chapter04/#362 |
2009-10-26 00:22:49
|
在执行循环之前先检测列表的大小是一个通常的做法,当列表为空时输出一些特别的提示。
|
|
IIssNan
|
2.0/chapter04/#322 |
2009-10-26 00:20:00
|
除以上几点以外的所有东西都视为<literal> True</literal> |
|
IIssNan
|
2.0/chapter04/#223 |
2009-10-26 00:04:07
|
像 <literal>{{ items.-1 }}</literal> 这样的模板变量将会引发<literal> TemplateSyntaxError</literal> |
|
IIssNan
|
2.0/chapter04/#229 |
2009-10-26 00:01:36
|
第一项在索引0位置上,第二项在索引1位置上,依此类推。
|
|
IIssNan
|
2.0/chapter04/#228 |
2009-10-25 23:59:36
|
Python的列表是从0开始索引。
|
|
IIssNan
|
2.0/chapter04/#228 |
2009-10-25 23:58:58
|
Python的列表是从0开始索引的。
|
|
IIssNan
|
2.0/chapter04/#215 |
2009-10-25 23:56:06
|
注意这里调用方法时并<emphasis> 没有</emphasis> 使用圆括号
|
|
IIssNan
|
2.0/chapter04/#211 |
2009-10-25 23:53:42
|
点语法也可以用来引用对象的<emphasis> 方法</emphasis>。
|
|
IIssNan
|
2.0/chapter04/#118 |
2009-10-25 23:34:28
|
过滤器的参数无效
|
|
IIssNan
|
2.0/chapter04/#63 |
2009-10-25 23:20:40
|
在Python代码中使用Django模板的最基本方式如下:
|
|