http://www.admin10000.com/document/94.html
Python 官方下载地址: http://www.python.org/ftp/python/
我们这里选择的是 Python 2.7.3 。(最新版是Python 3.3.0, 因为Python2.X与Python3.X变化比较大, Python2.X的文档和文章比较多, 所以这里使用Python2.7.3版.)
一路Next就可以了, 选择全部安装就可以了.
我这里安装在C:\Python27目录
图1
设置完成之后,我们打开CMD命令提示符窗口, 输入 "python --version", 显示版本号
图2
再输入"python" 进入Python, 再输入"print "Hello Python", 显示如下:
图3
OK, Python安装配置成功.
Django官网: https://www.djangoproject.com/
这里使用版本Django-1.4.5.tar.gz。 最新的Django-1.5.0.tar.gz支持Python3.3.0.
下载完后, 解压, 我这里解压到C:\Django-1.4.5目录
我们打开cmd命令提示窗口,cd入C:\Django-1.4.5目录, 输入命令"python setup.py install"来进行Django的安装.
图4
安装完成之后,我们发现 Django 被安装到了 C:\Python27\Lib\site-packages\django 这个目录。我们需要将这个C:\Python27\Lib\site-packages\django\bin路径添加到操作系统环境变量Path,
图5
目前为止我们已经完成 Django 安装的操作.
首先我们打开一个CMD命令窗口,看看Django的常规指令是否能用,然后我们再看看Django是否已经和python语言环境集成到了一起。
图6
从图中看到,我们首先在操作系统提示符下执行"django-admin.py --version", 系统打印出Django的版本号"1.4.5"。
接着我们输入“Python”进入到python运行环境,在“>>>”提示符下,我们输入一个python的模块导入语句 “import django”,这个语句表示我们在目前 python 运行环境中引入"django"这个功能模块;然后我们使用这个功能模块的“VERSION”方法来查看这个模块的版本号,同样我们也看到了相同的版本号。如果你的电脑上也完整的看到这些信息的话,那么OK,这证明你的电脑已经可以开始执行基于Django系统的python程序了。
学习Django,我们的目的当然是为了用来开发基于Web的应用系统,我们来看看Django如何显示一个Web页面。
打开一个CMD命令窗口,依次输入指令.
首先进入D盘,输入命令django-admin.py startproject mysite 用来创建一个网站项目,网站目录名字为mysite,路径为D:\mysite。
执行该命令后, 在将创建D:\mysite目录, 在D:\mysite下有(mysite目录和manage.py文件).
图8
使用用命令行cmd, Cd进入D:\mysite目录, 输入manage.py runserver 开启网站。可以指定端口,默认为8000,如果想使用90端口,就写成 manage.py runserver 90。
最后我们打开浏览器在地址栏里输入地址 http://localhost:8000 ,看到 “It worked”了吗?
图9
神奇.
接下来我们建一个Hello world页面:
使用Django,页面的内容是靠视图函数来产生,我们在D:\mysite目录下创建一个视图文件views.py 输入如下内容:
from django.http import HttpResponse import datetime def hello(request): now = datetime.datetime.now() html = "<html><body><h3>Hello World!</h3>It is now %s </body></html>" % now return HttpResponse(html)
并且,接着修改D:\mysite\mysite目录下的urls.py 文件,内容如下:
from django.conf.urls.defaults import patterns, include, url urlpatterns = patterns('', ('^hello/$','views.hello'), )
最后我们打开浏览器在地址栏里输入地址 http://localhost:8000/hello/,结果显示.
图10
A. 比较一下D:\mysite\views.py, D:\mysite\mysite\urls.py以及D:\mysite\manage.py的路径关系,
B. 再比较一下D:\mysite\mysite\urls.py中的添加的那一句"('^hello/$','views.hello'),"和URL地址"http://localhost:8000/hello/",
C. 可以看到这里存在映射关系, ^hello/$'的映射到"http://localhost:8000/hello/"中的hello/, 'views.hello'是代表要导入views模块的hello函数.
D. D:\mysite\views.py和D:\mysite\manage.py在同一目录下.
E. 所以可以了解到Django在接收到"http://localhost:8000/hello/"的请求后是如何工作的.
E.1 先找到/hello/所映射到的模块或者函数, 这里是'views.hello'的,
E.2 在知道是'views.hello'后, Python在manage.py的同一目录开始查找views.py文件, 再就是views.py模块中hello函数.
E.3 找到后, 就是生成html数据返回给浏览器.
根据以上的分析, 现在试一下:
1. 在D:\mysite\目录下新建Test目录, 拷贝一份views.py到Test目录(D:\mysite\Test\views.py).
2. 在D:\mysite\mysite\urls.py添加"('^hello2/$','Test.views.hello'),", (参考上面的说明)
3. 测试一下, 不行.
4. 在Test目录下添加一个__init__.py空文件, 再试一下, 可以了.
官方下载地址:http://sourceforge.net/projects/mysql-python/files/
windows版本下载地址:http://www.codegood.com/downloads
我们这里使用windows版本 MMySQL-python-1.2.4b4.win32-py2.7.exe
先创建一个数据库: create database TestDB;
图11
相关命令:
登陆mysql: mysql -u root -p
创建数据库: create database TestDB;
使用数据库: use TestDB;
显示表:show tables;
在D:\mysite\mysite\setttings.py文件,打开它,找到DATABASES这一项,更改数据库连接参数。结果如下:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '你的数据库名称', 'USER': '你的MYSQL账号', 'PASSWORD': '你的MYSQL密码', 'HOST': '127.0.0.1', 'PORT': '3306', } }
我这里是:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'TestDB', 'USER': 'root', 'PASSWORD': '123456', 'HOST': '127.0.0.1', 'PORT': '3306', } }
打开CMD窗口,在D:\mysite目录下输入下面指令,测试数据连接是否成功。
manage.py shell
from django.db import connection
cursor = connection.cursor()
图12
如果没有任何提示信息,代表数据库连接成功。
要注意的是应该先数据库已被创建
修改settings.py后, 应该重新运行manage.py shell
打开CMD窗口,在D:\mysite目录下输入指令:
manage.py startapp books
图13
则创建D:\mysite\books目录, 目录下有如下文件:
图14
在D:\mysite\books目录下,修改models.py 文件内容如下。
from django.db import models class Book(models.Model): title = models.CharField(max_length=100) authors = models.CharField(max_length=100) publisher = models.CharField(max_length=100) publication_date = models.DateField() def __unicode__(self):# 这个是类函数 return u'%s %s' % (self.title,self.authors)
这里就是创建一个书籍的数据表的模型
再到settings.py文件,修改INSTALLED_APPS这一项。
INSTALLED_APPS = ( 'books', )
INSTALLED_APPS上默认的那些数据删除丢, 只保留'books'
这个"books"相当于一个路径或者说是一个包, 它与以manage.py所在路径为参考路径, 假设books在abc目录下, 那么就要写成:
INSTALLED_APPS = (
'abc.books',
)
打开CMD窗口,在d:\mysite目录下输入下面命令,同步你的模型到数据库:
manage.py syncdb
打开CMD窗口,在d:\mysite目录下,输入一些指令
manage.py shell
from books.models import Book
p1 = Book(title = "HTML", authors = "zhm", publisher = "zhm1000", publication_date = "2013-03-07")
p1.save()
p2 = Book(title = "CSS", authors = "zhm", publisher = "zhm1000", publication_date = "2013-03-07")
p2.save()
p3 = Book(title = "JS", authors = "zhm", publisher = "zhm1000", publication_date = "2013-03-07")
p3.save()
p3.save()
list = Book.objects.all()
list
图16
如果你到Mysql上查询一下, 发现已经有这些数据在数据库上了.
from django.shortcuts import render_to_response from books.models import Book def booklist(request): list = Book.objects.all() return render_to_response('booklist.html',{'books':list})
路径映射
urlpatterns = patterns('',
('^books/$','books.views.booklist'),
)
增加('^books/$','books.views.booklist'),
注意目录关系.
新建一个模板文件booklist.html 内容以下
<ul> {% for book in books %} <li> {{book.title}} </li> {% endfor %} </ul>
找到 TEMPLATE_DIRS项,修改内容如下:
TEMPLATE_DIRS = (
'd:/mysite/templates'
)
最后进入mysite 这个目录,输入manage.py runserver 开启网站。
打开浏览器访问地址http://localhost:8000/books
图17
我觉得这个Web环境的配置十分简单, 但唯一要注意的就是: 一定要注意各个目录之间的那些路径关系. 因为Python中的包, 模块, 类, 函数的导入都依赖这些路径关系的.