1. 搭建开发环境
2. 创建一个工程(startproject),并运行(runserver)
3. 开发hello world应用(startapp)
一,搭建环境(系统: Ubuntu 12.04 LTS)
1)安装 python
2)安装 Django
二,创建项目工程
首先创建工程,即开始创建名为depot的工程:
执行:
jiangge@ubuntu:~$ django-admin.py startproject depot
查看下项目的组成:
jiangge@ubuntu:~$ cd depot/
jiangge@ubuntu:~/depot$ ls
depot manage.py
jiangge@ubuntu:~/depot$ tree
.
├── depot
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
1 directory, 5 files
文件如下:
__init__.py :让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。 这是一个空文件,一般你不需要修改它。
manage.py :一种命令行工具,允许你以多种方式与该 Django 项目进行交互。 键入python manage.py help,看一下它能做什么。 一般不需要编辑这个文件;
settings.py :该 Django 项目的设置或配置。
urls.py:Django项目的URL设置。
尽管这些的文件很小,但这些文件已经构成了一个可运行的Django应用。
执行:
jiangge@ubuntu:~/depot$ python manage.py runserver
会看到如下信息:
Validating models...
0 errors found
April 30, 2013 - 22:58:02
Django version 1.5, using settings 'depot.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C
此时web server(开发服务器)已经运行了,用浏览器访问http://127.0.0.1:8000/,可以看到如下的界面:
恭喜, Django已经开始工作了。
三,创建app,显示Hello, Django
Django Web应用中通常包含URLconf, view, template, model 四个部分(参考《URLconf+MTV:Django眼中的MVC》)。但这些部分不是完全必需的。
比如我们要实现一个最简单的 "hello, Django!", 只需要定义URLconf和view即可。
让我们把“需求”明确一下,hello,Django!实现如下功能:
在浏览器中输入http://127.0.0.1:8000/hello, 显示“hello Django!”。
首先要实现一个视图(view) 来响应请求。在Django中视图是一个函数,该函数接受一个HttpRequest参数,并返回一个HttpResponse。我们可以在任何地方定义这个函数,但通常会放在Django app 的 views.py 文件中。在hello,Django中我们不需要创建一个Django app(因为不需要model),所以可以在project 目录中创建一个view.py 文件,并定义hello(request)视图函数:
jiangge@ubuntu:~/depot/depot$ vim views.py
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello, Django")
接下来是将 URL 映射到这个 hello 视图函数。这是由URLconf完成的。URLconf的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。
打开生成的urls.py文件,先在文件前面import刚才创建的view,然后在tuple类型的变量urlpatterns中加入hello的映射关系:
jiangge@ubuntu:~/depot/depot$ vim urls.py
from django.conf.urls import patterns, include, url
from depot.views import hello
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'depot.views.home', name='home'),
# url(r'^depot/', include('depot.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
# url(r'^admin/', include(admin.site.urls)),
url(r'^hello/$', hello),
)
此时访问 http:/127.0.0.1:8000/hello
将会显示 Hello, Django
URLconf理解起来也很容易,即 urlpatterns中的每一项是一个二元组(正则表达式,视图函数)。当Django 接收到HTTP请求的时候,从urlpatterns中找到匹配的表达式,并将请求发生给对应的视图函数,最后视图函数返回一个HTTP响应,交给Django处理。如此而已。
至此,Django的第一步已经迈出,你至少已经可以开始CGI风格的web开发了。
============================================================================
参考资料:
http://www.cnblogs.com/holbrook/archive/2012/01/29/2357359.html
http://djangobook.py3k.cn/2.0/chapter02/
感谢作者:@心内求法
说明:我将按照原文一步步在Ubuntu12.04 LTS系统, Django 1.5版本下记录下.