princelai
|
2.0/chapter02/#71 |
2009-10-21 02:41:43
|
解压缩完成后,使用管理员权限启动一个DOS Shell(命令提示符),然后运行目录里以<literal>Django-</literal>开始命名的文件
|
|
princelai
|
2.0/chapter02/#71 |
2009-10-21 02:44:29
|
解压缩完成后,使用管理员权限启动一个DOS Shell(命令提示符),然后运行目录里以<literal>Django-</literal>开始命名的文件:
|
|
princelai
|
2.0/chapter02/#76 |
2009-10-21 02:47:08
|
通常情况下,这个目录在<literal>/usr/lib/python2.4/site-packages</literal>。
|
|
princelai
|
2.0/chapter02/#94 |
2009-10-21 02:49:59
|
(如果你在使用Mac OS X 10.5或者更新的版本,你很走运,Subversion应该就可以安装Django。)
|
|
princelai
|
2.0/chapter02/#95 |
2009-10-21 02:51:30
|
你可以在终端上输入<literal>svn
--version</literal>来验证。
|
|
princelai
|
2.0/chapter02/#94 |
2009-10-21 02:51:41
|
(如果你在使用Mac OS X 10.5或者更新的版本,你很走运,Subversion应该就可以安装Django。
|
|
princelai
|
2.0/chapter02/#97 |
2009-10-21 02:54:27
|
使用 <literal>svn co http://code.djangoproject.com/svn/django/trunk djtrunk</literal> 命令查看主体代码。
|
|
princelai
|
2.0/chapter02/#74 |
2009-10-21 02:55:46
|
如果你很好奇:
|
|
princelai
|
2.0/chapter03/#4 |
2009-10-21 03:14:37
|
在这一章,你将会学到用Django创建动态网页的基本知识。
|
|
princelai
|
2.0/chapter03/#6 |
2009-10-21 03:15:20
|
你的第一个基于Django的页面:
|
|
princelai
|
2.0/chapter03/#7 |
2009-10-21 03:15:35
|
Hello World
|
|
princelai
|
2.0/chapter03/#9 |
2009-10-21 03:17:44
|
正如我们的第一个目标,来创建一个输出这个著名示例信息网页:
|
|
princelai
|
2.0/chapter03/#9 |
2009-10-21 03:18:20
|
正如我们的第一个目标,来创建一个网页,用来输出这个著名的示例信息:
|
|
princelai
|
2.0/chapter03/#9 |
2009-10-21 03:18:33
|
正如我们的第一个目标,创建一个网页,用来输出这个著名的示例信息:
|
|
princelai
|
2.0/chapter03/#10 |
2009-10-21 03:18:55
|
Hello world.
|
|
princelai
|
2.0/chapter03/#12 |
2009-10-21 03:23:54
|
如果你曾经发布过Hello world页面,但是没有使用网页框架,只是简单的在<literal>hello.html</literal>文本文件中输入Hello World,然后上传到任意的一个网页服务器上。
|
|
princelai
|
2.0/chapter03/#13 |
2009-10-21 03:28:40
|
注意,在这个过程中,你已经列出了两个关于这个网页信息的关键:
|
|
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>)。
|
|
princelai
|
2.0/chapter03/#13 |
2009-10-21 03:33:33
|
注意,在这个过程中,你已经指定了两个关于这个网页信息的关键:
|
|
princelai
|
2.0/chapter03/#13 |
2009-10-21 03:34:00
|
注意,在这个过程中,你已经指定了两个关于这个网页的关键信息:
|
|
princelai
|
2.0/chapter19/#40 |
2009-10-21 03:38:28
|
如果您不需要国际化支持,那么您可以在您的设置文件中设置 <literal>USE_I18N = False</literal> 。
|
|
princelai
|
2.0/chapter19/#41 |
2009-10-21 03:38:51
|
如果 <literal>USE_I18N</literal> 被设为 False ,那么Django会进行一些优化,而不加载国际化支持机制。
|
|
princelai
|
2.0/chapter03/#16 |
2009-10-21 03:44:14
|
使用Django,你会用不同的方法来说明这两件事
|
|
princelai
|
2.0/chapter03/#13 |
2009-10-21 03:44:29
|
注意,在这个过程中,你已经说明了两个关于这个网页的关键信息:
|
|
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/#24 |
2009-10-21 03:53:21
|
我们的Hello woeld视图非常简单。
|
|
princelai
|
2.0/chapter03/#25 |
2009-10-21 03:57:16
|
这些是完整的函数和导入声明,你需要输入到<literal>views.py</literal>文件:
|
|
princelai
|
2.0/chapter03/#31 |
2009-10-21 03:58:36
|
我们需要导入这些类,因为我们会在后面用到。
|
|
|
2.0/chapter02/#302 |
2009-10-21 10:09:44
|
你会看到大概像这样
|
|
mitnk
|
2.0/chapter07/#3 |
2009-10-21 10:30:24
|
从Google的简朴的单个搜索框,到觉的Blog评论提交表单,再到复杂的自定义数据输入接口,HTML表单一直是交互性网站的支柱。
|
|
mitnk
|
2.0/chapter07/#3 |
2009-10-21 10:31:17
|
从Google的简朴的单个搜索框,到常见的Blog评论提交表单,再到复杂的自定义数据输入接口,HTML表单一直是交互性网站的支柱。
|
|
mitnk
|
2.0/chapter07/#4 |
2009-10-21 10:35:09
|
本章介绍如何用Django对用户通过表单提交的数据进行访问、有效性检查以及其它处理。
|
|
mitnk
|
2.0/chapter07/#5 |
2009-10-21 10:37:54
|
与此同时,我们将介绍HttpRequest对象和Form对象。
|
|
mitnk
|
2.0/chapter07/#7 |
2009-10-21 10:40:07
|
从Request对象中获取数据
|
|
mitnk
|
2.0/chapter07/#16 |
2009-10-21 10:41:22
|
URL相关信息
|
|
mitnk
|
2.0/chapter07/#9 |
2009-10-21 10:48:47
|
我们在第三章讲述View的函数时已经介绍过HttpRequest对象了,但当时并没有讲太多。
|
|
mitnk
|
2.0/chapter07/#10 |
2009-10-21 10:51:27
|
让我们回忆下:每个view函数的第一个参数是一个HttpRequest对象,就像下面这个hello()函数:
|
|
mitnk
|
2.0/chapter07/#13 |
2009-10-21 10:55:49
|
HttpRequest对象,比如上面代码里的request变量,会有一些有趣的、你必须让自己熟悉的属性和方法,以便知道能拿它们来做些什么。
|
|
mitnk
|
2.0/chapter07/#14 |
2009-10-21 11:00:51
|
在view函数的执行过程中,你可以用这些属性来获取当前request的一些信息(比如,你正在加载这个页面的用户是谁,或者用的是什么浏览器)。
|
|
mitnk
|
2.0/chapter07/#18 |
2009-10-21 11:04:18
|
HttpRequest对象包含当前请求URL的一些信息:
|
|
mitnk
|
2.0/chapter07/#52 |
2009-10-21 11:10:10
|
在view函数里,要始终用这个属性或方法来得到URL,而不要手动输入。
|
|
mitnk
|
2.0/chapter07/#53 |
2009-10-21 11:11:38
|
这会使得代码更加灵活,以便在其它地方重用。
|
|
mitnk
|
2.0/chapter07/#54 |
2009-10-21 11:12:11
|
下面是一个简单的例子:
|
|
mitnk
|
2.0/chapter07/#57 |
2009-10-21 11:12:55
|
有关request的其它信息
|
|
mitnk
|
2.0/chapter07/#59 |
2009-10-21 11:16:24
|
request.META 是一个Python字典,包含了所有本次HTTP请求的Header信息,比如用户IP地址和用户Agent(通常是浏览器的名称和版本号)。
|
|
柠檬园主
|
2.0/chapter03/#17 |
2009-10-21 11:43:33
|
页面的内容是靠<emphasis>view function(视图函数)</emphasis> 来产生,URL定义在 <emphasis>URLconf</emphasis> 中。首先,我们先写一个Hello World视图函数。
|
|
柠檬园主
|
2.0/chapter03/#33 |
2009-10-21 11:53:11
|
接下来,我们定义一个叫做<literal>hello</literal> 的视图函数。
|
|
柠檬园主
|
2.0/chapter03/#42 |
2009-10-21 12:33:22
|
这个函数只有简单的一行代码:
|
|
柠檬园主
|
2.0/chapter03/#49 |
2009-10-21 12:33:41
|
你的第一个URLconf
|
|
柠檬园主
|
2.0/chapter03/#35 |
2009-10-21 12:35:35
|
每个视图函数至少要有一个参数,通常被叫作<literal>request</literal>。
|
|