没有合适的资源?快使用搜索试试~ 我知道了~
Django step by step 1.0.2版.doc

温馨提示
Django step by step 1.0.2版.docDjango step by step 1.0.2版.docDjango step by step 1.0.2版.doc
资源推荐
资源详情
资源评论













一、
hello world
又见
hello world
!
1.开篇
这篇教程目的是教大家编个显示 hello world 的 django 程序。其实我看到
hello world 的时候,总是有种特别的感觉,每学一种新语言总是见到它,这
个词太有魔力,承载在未来学好这门语言的美好希望!
大家可能都听说 python 很容易入门,不过 django 就不太容易了,一开始
大家可能会一头雾水,不过不用怕,等你做完了这个系列教程,就会对它有大
致的了解,总体来说,django 还是比较适合像我这样的懒人的。
2.django 的入门体验
django 写一个 hello world 绝对比 karrigell 这样的轻量级的 web 平台要
麻烦,不过等到开发大型 web 程序时,django 的 MVC
*
的理念就有很大的优
势。
*MVC (Modal View Controler)本来是存在于 Desktop 程序中的,M 是指数据模型,V 是指用户界面,C 则是控制器。使用 MVC 的目的是将
M 和 V 的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C 存在的目的则是
确保 M 和 V 的同步,一旦 M 改变,V 应该同步更新。
2.1 安装 django
我是在 windows xp 下安装的。大家先装 python 2.52 版,这个版本很稳
定,对 django 支持也比较好,然后到 django 官方网站下载 django 1.0.2 版
官方网站下载后解压,cd 到解压后的目录运行
python setup.py install
安装完毕后,建议检查安装 pythoninstalldir/Scripts 目录是否在你的
PATH 环境中,如果不在,建议将这个目录设置到 PATH 中。因为如果你采用
标准的 Python 安装方法,那么 Django 会自动在 Scripts 目录下安装
django-admin.py 程序。这样,一旦你设置了 Scripts 在 PATH 中,就可以
在命令行下任何目录中执行 django-admin.py 了。
2.2 生成项目目录
使用
django-admin.py startproject newtest
这样就在当前目录下创建了一个 newtest 目录,进去入可以看到有四个文件:

这个 newtest 将是我们以后工作的目录,许多讲解都是基于这个目录的。
__init__.py
表示这是一个 Python 的包
manage.py
提供简单化的 django-admin.py 命令,特别是可以自动进行
DJANGO_SETTINGS_MODULES 和 PYTHONPATH 的处理,而没有这个命
令,处理上面环境变量是件麻烦的事情
settings.py
它是 django 的配置文件
uls.py
url 映射处理文件, Karrigell 没有这种机制,它通过目录/文件/方法来自动对
应,而 Django 的 url 映射是 url 对于某个模块方法的映射,目前不能自动完成
,这些文件的具体作用现在没必要记,大家按例子自己多做做就能理解有什么
用了
2.3 启动 web server
现在先看看 Django 能否启动
manage.py runserver
一旦出现
Validating models…
0 errors found
Django version 1.0.2 9nal, using settings ‘newtest.settings’
Development server is running at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
就说明 Django 启动了,注意这只是个 Development server(开发服务器)。
实际搭建服务器的方法后面会讲的。
在浏览器里输入 http://127.0.0.1:8000/ 会有一个祝贺页面,

django 启动的祝贺画面
说明成功了。
2.4 编写 helloworld
要是看过官方教程的话,会发现一开始就推荐使用 app 的形式。在 Django 中,每个 app 就
是一个子包,真正调用时需要通过 URL Dispatch 来实现 url 与模块方法的映射。这是
Django 的一大特色,但也是有些麻烦的地方。 我们刚开始,没必要用 app 形式。因此根据
URL Dispatch 的机制,我们只要保证 Django 可以在正确的地方找到方法进行调用即可。那
么我们就根本不去创建一个 app 了。
在 newest 目录下创建一个文件 helloworld.py 内容为:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, Django.")
2.5 修改 urls.py
改这个是为了让浏览者对一个 url 的要求转到具体可调用的方法上
from django.conf.urls.defaults import *
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()
urlpatterns = patterns('',
# Example:

# (r'^newtest/', include('newtest.foo.urls')),
# Uncomment the admin/doc line below and add
'django.contrib.admindocs'
# to INSTALLED_APPS to enable admin documentation:
# (r'^admin/doc/',
include('django.contrib.admindocs.urls')),
(r'^$', 'newtest.helloworld.index'),
# Uncomment the next line to enable the admin:
# (r'^admin/(.*)', admin.site.root),
)
注意这里其实只加了一句 ,其他全被注释了,不起作用。
r’^$’ 是为了匹配空串 ,就是 http://localhost:8000/
r’^$’, ‘newtest.helloworld.index’),就是说 http://localhost:8000/ 这个地
址将会指向 newtest 这个工程里 helloworld.py 文件里定义的 index 方法,
看看 helloworld.py 里面是不是有个 def index(request):
举个例子,如果以后要想让 http://localhost:8000/ blog 能被访问,只需要
加个 r’^blog’ ,然后在后面写 views 来控制结果(这个以后会讲),够方便
吧!如果此时 web server 已经启动,直接刷新页面就可以看到 hello world
了
3.结论
Django 其实很方便,不要被它有些复杂的形式所吓倒。其实都是些固定的套
路,学会了直接套用,开发速度会非常的快!
二、 一个简单的
web
加法器
1.学习目的
这一节仍然只能算是入门体验。本节将要讲一个简单的 web 加法器,界面如下
web 加法器界面
通过本节可以学到如何处理页面表格提交的数据,并且会对 URL Dispatch 作
更进一步的解释。

2.创建文件 add.py
首先在 newtest 文件夹下新建一个 add.py (由于我们还没涉及到 django 的
模型,所以像 add.py 这样的东西叫什么呢?还是称其为 View 吧。因为在
django 中,View 是用来显示的,它代替了一般的 MVC 中的 Control 的作用,
django 官方说自己也是 MVC,不过叫做 MTV
更直观一些
from django.http import HttpResponse
text = """<form method="post" action="/add/">
<input type="text" name="a" value="%d"> + <input
type="text" name="b" value="%d">
<input type="submit" value="="> <input type="text"
value="%d">
</form>"""
def index(request):
if request.POST.has_key('a'):
a = int(request.POST['a'])
b = int(request.POST['b'])
else:
a = 0
b = 0
return HttpResponse(text % (a, b, a + b))
请注意 action 为 /add/ ,在 Django 中链接后面一般都要有 ‘/’ ,不然有可能
得不到 POST 数据。这里只有一个 index 方法。所有在 view 中的方法第一个
参数都会由 Django 传入 request 对象,它就是请求数据对象,它是由
Django 自动生成。其中有 GET 和 POST 属性,分别保存两种不同的提交方
式的数据,它们都可以象字典一样工作。
那么我的想法就是:
进入页面后(就是上面的效果),页面上有两个输入文本框,一个是提交按钮,
一个是显示结果的文本框。在两个输入文本框中输入整数,然后点击提交(”=”
号按钮),将返回相同的页面,但结果文本框中将显示两数相加的和。两个输入
文本框分别定义为 a 和 b 。
这里的逻辑就是:先判断 POST 数据中是否有变量 a ,如果没有则表示是第一
次进入,则 a, b 初始为 0 ,然后返回页面。如果有变量 a ,则计算结果,返
回页面。
其实这里面有许多可以细说的东西,那么我把它们放在后面陈述。
剩余32页未读,继续阅读
资源评论

- yuyefuping2013-02-27东西还行。值得参考。

大盈若冲
- 粉丝: 4
- 资源: 169
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
