princelai
|
2.0/chapter02/#153 |
2009-10-22 02:11:21
|
如果你拷贝我们的示例去运行,千万别拷贝这些点。
|
|
princelai
|
2.0/chapter02/#152 |
2009-10-22 02:05:20
|
但是包含它们是为了追求解释器的正确输出。
|
|
princelai
|
2.0/chapter02/#151 |
2009-10-22 02:02:22
|
这三个在新行开始插入的点,是Python Shell自行加入的,不属于我们的输入。
|
|
princelai
|
2.0/chapter02/#148 |
2009-10-22 01:59:38
|
例如:
|
|
princelai
|
2.0/chapter02/#147 |
2009-10-22 01:59:28
|
在交互式解释器中,多行声明用三个点
(<literal>...</literal>)来填补。
|
|
princelai
|
2.0/chapter02/#147 |
2009-10-22 01:59:16
|
在交互式解释器中,多行声明用三个点
(<literal>...</literal>)来填补
|
|
princelai
|
2.0/chapter02/#147 |
2009-10-22 01:58:57
|
在交互式解释器中,多行声明用三个点
(<literal>...</literal>来填补
|
|
princelai
|
2.0/chapter02/#145 |
2009-10-22 01:57:09
|
如果你要从本书中拷贝示例,请不要拷贝提示符。
|
|
princelai
|
2.0/chapter02/#144 |
2009-10-22 01:55:36
|
你可以以三个大于号
(<literal>>>></literal> )来分辨出示例,三个大于号就表示交互提示符
|
|
princelai
|
2.0/chapter02/#143 |
2009-10-22 01:52:24
|
我们在交互解释器中演示Python示例将贯穿整本书。
|
|
princelai
|
2.0/chapter02/#138 |
2009-10-22 01:47:15
|
交互解释器示例
|
|
princelai
|
2.0/chapter02/#135 |
2009-10-22 01:46:37
|
在Shell中,更换到另外一个目录(不是包含Django的目录),然后输入<literal>python</literal>来打开Python的交互解释器。如果安装成功,你应该可以导入<literal>django</literal>模块了:
|
|
princelai
|
2.0/chapter02/#130 |
2009-10-22 01:39:28
|
在一些Django社区中,版本号甚至成为了一种荣誉的象征,我从[写上非常低的版本号]开始就已经使用Djano了。
|
|
princelai
|
2.0/chapter02/#129 |
2009-10-22 01:34:52
|
Django在每次更新后,版本号都是递增的,无论是修复Bug、增加特性、改进文档或者是其他。
|
|
princelai
|
2.0/chapter02/#126 |
2009-10-22 01:31:38
|
知道你使用的版本号是非常重要的,如果你去社区寻求帮助,或是为Django框架提供改进。
|
|
shan
|
2.0/chapter02/#328 |
2009-10-21 14:08:50
|
使用Windows的用户,请尝试使用 ipconfig 命令。
|
无
|
柠檬园主
|
2.0/chapter03/#36 |
2009-10-21 12:38:54
|
这是一个触发这个视图、包含当前Web请求信息的对象,是类<literal>django.http.HttpRequest</literal>的一个实例。在这个示例中,我们虽然不用<literal>request</literal>做任何事情,然而它仍必须是这个视图的第一个参数。
|
|
柠檬园主
|
2.0/chapter03/#35 |
2009-10-21 12:35:35
|
每个视图函数至少要有一个参数,通常被叫作<literal>request</literal>。
|
|
柠檬园主
|
2.0/chapter03/#49 |
2009-10-21 12:33:41
|
你的第一个URLconf
|
|
柠檬园主
|
2.0/chapter03/#42 |
2009-10-21 12:33:22
|
这个函数只有简单的一行代码:
|
|
柠檬园主
|
2.0/chapter03/#33 |
2009-10-21 11:53:11
|
接下来,我们定义一个叫做<literal>hello</literal> 的视图函数。
|
|
柠檬园主
|
2.0/chapter03/#17 |
2009-10-21 11:43:33
|
页面的内容是靠<emphasis>view function(视图函数)</emphasis> 来产生,URL定义在 <emphasis>URLconf</emphasis> 中。首先,我们先写一个Hello World视图函数。
|
|
mitnk
|
2.0/chapter07/#59 |
2009-10-21 11:16:24
|
request.META 是一个Python字典,包含了所有本次HTTP请求的Header信息,比如用户IP地址和用户Agent(通常是浏览器的名称和版本号)。
|
|
mitnk
|
2.0/chapter07/#57 |
2009-10-21 11:12:55
|
有关request的其它信息
|
|
mitnk
|
2.0/chapter07/#54 |
2009-10-21 11:12:11
|
下面是一个简单的例子:
|
|
mitnk
|
2.0/chapter07/#53 |
2009-10-21 11:11:38
|
这会使得代码更加灵活,以便在其它地方重用。
|
|
mitnk
|
2.0/chapter07/#52 |
2009-10-21 11:10:10
|
在view函数里,要始终用这个属性或方法来得到URL,而不要手动输入。
|
|
mitnk
|
2.0/chapter07/#18 |
2009-10-21 11:04:18
|
HttpRequest对象包含当前请求URL的一些信息:
|
|
mitnk
|
2.0/chapter07/#14 |
2009-10-21 11:00:51
|
在view函数的执行过程中,你可以用这些属性来获取当前request的一些信息(比如,你正在加载这个页面的用户是谁,或者用的是什么浏览器)。
|
|
mitnk
|
2.0/chapter07/#13 |
2009-10-21 10:55:49
|
HttpRequest对象,比如上面代码里的request变量,会有一些有趣的、你必须让自己熟悉的属性和方法,以便知道能拿它们来做些什么。
|
|
mitnk
|
2.0/chapter07/#10 |
2009-10-21 10:51:27
|
让我们回忆下:每个view函数的第一个参数是一个HttpRequest对象,就像下面这个hello()函数:
|
|
mitnk
|
2.0/chapter07/#9 |
2009-10-21 10:48:47
|
我们在第三章讲述View的函数时已经介绍过HttpRequest对象了,但当时并没有讲太多。
|
|
mitnk
|
2.0/chapter07/#16 |
2009-10-21 10:41:22
|
URL相关信息
|
|
mitnk
|
2.0/chapter07/#7 |
2009-10-21 10:40:07
|
从Request对象中获取数据
|
|
mitnk
|
2.0/chapter07/#5 |
2009-10-21 10:37:54
|
与此同时,我们将介绍HttpRequest对象和Form对象。
|
|
mitnk
|
2.0/chapter07/#4 |
2009-10-21 10:35:09
|
本章介绍如何用Django对用户通过表单提交的数据进行访问、有效性检查以及其它处理。
|
|
mitnk
|
2.0/chapter07/#3 |
2009-10-21 10:31:17
|
从Google的简朴的单个搜索框,到常见的Blog评论提交表单,再到复杂的自定义数据输入接口,HTML表单一直是交互性网站的支柱。
|
|
mitnk
|
2.0/chapter07/#3 |
2009-10-21 10:30:24
|
从Google的简朴的单个搜索框,到觉的Blog评论提交表单,再到复杂的自定义数据输入接口,HTML表单一直是交互性网站的支柱。
|
|
|
2.0/chapter02/#302 |
2009-10-21 10:09:44
|
你会看到大概像这样
|
|
princelai
|
2.0/chapter03/#31 |
2009-10-21 03:58:36
|
我们需要导入这些类,因为我们会在后面用到。
|
|
princelai
|
2.0/chapter03/#25 |
2009-10-21 03:57:16
|
这些是完整的函数和导入声明,你需要输入到<literal>views.py</literal>文件:
|
|
princelai
|
2.0/chapter03/#24 |
2009-10-21 03:53:21
|
我们的Hello woeld视图非常简单。
|
|
princelai
|
2.0/chapter03/#21 |
2009-10-21 03:51:56
|
在上一章使用<literal>django-admin.py startproject</literal>制作的<literal>mysite</literal>文件夹中,创建一个叫做<literal>views.py</literal>的空文件。这个Python模块将包含这一章的视图。
|
|
princelai
|
2.0/chapter03/#13 |
2009-10-21 03:44:29
|
注意,在这个过程中,你已经说明了两个关于这个网页的关键信息:
|
|
princelai
|
2.0/chapter03/#16 |
2009-10-21 03:44:14
|
使用Django,你会用不同的方法来说明这两件事
|
|
princelai
|
2.0/chapter19/#41 |
2009-10-21 03:38:51
|
如果 <literal>USE_I18N</literal> 被设为 False ,那么Django会进行一些优化,而不加载国际化支持机制。
|
|
princelai
|
2.0/chapter19/#40 |
2009-10-21 03:38:28
|
如果您不需要国际化支持,那么您可以在您的设置文件中设置 <literal>USE_I18N = False</literal> 。
|
|
princelai
|
2.0/chapter03/#13 |
2009-10-21 03:34:00
|
注意,在这个过程中,你已经指定了两个关于这个网页的关键信息:
|
|
princelai
|
2.0/chapter03/#13 |
2009-10-21 03:33:33
|
注意,在这个过程中,你已经指定了两个关于这个网页信息的关键:
|
|
princelai
|
2.0/chapter03/#14 |
2009-10-21 03:31:48
|
它包括(字符串
<literal>"Hello world"</literal>)和它的URL( <literal>http://www.example.com/hello.html</literal> , 如果你把文件放在子目录,也可能是
<literal>http://www.example.com/files/hello.html</literal>)。
|
|