[Django笔记]一. Django环境配置及Hello Django工程步骤

http://www.admin10000.com/document/94.html

一. 下载并安装Python

Python 官方下载地址:  http://www.python.org/ftp/python/


1.1. Next, Next

我们这里选择的是 Python 2.7.3 。(最新版是Python 3.3.0, 因为Python2.X与Python3.X变化比较大, Python2.X的文档和文章比较多, 所以这里使用Python2.7.3版.)

一路Next就可以了, 选择全部安装就可以了.

我这里安装在C:\Python27目录


1.2. 添加环境变量


图1


1.3 验证是否安装和配置正确


设置完成之后,我们打开CMD命令提示符窗口, 输入 "python --version", 显示版本号

图2


再输入"python" 进入Python, 再输入"print "Hello Python", 显示如下:

[Django笔记]一. Django环境配置及Hello Django工程步骤_第1张图片

图3

OK, Python安装配置成功.



二. 下载并安装Django


Django官网: https://www.djangoproject.com/

这里使用版本Django-1.4.5.tar.gz。 最新的Django-1.5.0.tar.gz支持Python3.3.0.



2.1 安装Django


下载完后, 解压, 我这里解压到C:\Django-1.4.5目录

我们打开cmd命令提示窗口,cd入C:\Django-1.4.5目录,  输入命令"python setup.py install"来进行Django的安装.

图4



2.2 添加环境变量

安装完成之后,我们发现 Django 被安装到了 C:\Python27\Lib\site-packages\django 这个目录。我们需要将这个C:\Python27\Lib\site-packages\django\bin路径添加到操作系统环境变量Path, 


[Django笔记]一. Django环境配置及Hello Django工程步骤_第2张图片

图5


目前为止我们已经完成 Django 安装的操作.


2.3 验证安装和配置的正确性

首先我们打开一个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项目

学习Django,我们的目的当然是为了用来开发基于Web的应用系统,我们来看看Django如何显示一个Web页面。


3.1 创建一个网站并启动和浏览它

打开一个CMD命令窗口,依次输入指令.

[Django笔记]一. Django环境配置及Hello Django工程步骤_第3张图片
图7


3.1.1 创建网站项目

首先进入D盘,输入命令django-admin.py startproject mysite 用来创建一个网站项目,网站目录名字为mysite,路径为D:\mysite。 

执行该命令后, 在将创建D:\mysite目录, 在D:\mysite下有(mysite目录和manage.py文件).

图8


3.1.2 运行网站服务器

使用用命令行cmd,  Cd进入D:\mysite目录, 输入manage.py runserver 开启网站。可以指定端口,默认为8000,如果想使用90端口,就写成 manage.py runserver 90

3.1.3 浏览网站

最后我们打开浏览器在地址栏里输入地址 http://localhost:8000 ,看到 “It worked”了吗?


图9

神奇.


四. 修改一下网站

4.1 修改步骤


接下来我们建一个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/,结果显示.

[Django笔记]一. Django环境配置及Hello Django工程步骤_第4张图片

图10



4.2 分析说明


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空文件, 再试一下, 可以了.


四. 建立一个Mysql数据库应用

4.1 首先安装MySQL数据库.

4.2 安装python-mysql驱动。


官方下载地址:http://sourceforge.net/projects/mysql-python/files/
windows版本下载地址:http://www.codegood.com/downloads

我们这里使用windows版本 MMySQL-python-1.2.4b4.win32-py2.7.exe


4.3 使用MySQL创建一个数据库.

先创建一个数据库: create database TestDB;

11


相关命令:

登陆mysql: mysql -u root -p

创建数据库: create database TestDB;

使用数据库: use TestDB;

显示表:show tables;


4.4. 修改settings.py配置文件的数据库项

在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


4.5 新建一个App应用 books


打开CMD窗口,在D:\mysite目录下输入指令:

manage.py startapp books

[Django笔记]一. Django环境配置及Hello Django工程步骤_第5张图片

图13


则创建D:\mysite\books目录, 目录下有如下文件:

[Django笔记]一. Django环境配置及Hello Django工程步骤_第6张图片

图14



4.6 自定义model文件


在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)

这里就是创建一个书籍的数据表的模型


4.7. 修改D:\mysite\mysite\setttings.py文件,激活books应用


再到settings.py文件,修改INSTALLED_APPS这一项。

INSTALLED_APPS = (
    'books',
)

INSTALLED_APPS默认的那些数据删除丢, 只保留'books'

这个"books"相当于一个路径或者说是一个包, 它与以manage.py所在路径为参考路径, 假设books在abc目录下, 那么就要写成:

INSTALLED_APPS = (

    'abc.books',

)


4.8 建表


打开CMD窗口,在d:\mysite目录下输入下面命令,同步你的模型到数据库:

manage.py syncdb

[Django笔记]一. Django环境配置及Hello Django工程步骤_第7张图片
图15



4.9 向数据表插入一些记录


打开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上查询一下, 发现已经有这些数据在数据库上了.


4.10 修改D:\mysite\books\views.py文件的内容


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})



4.11 修改d:\mysite\url.py的内容


路径映射

urlpatterns = patterns('',

    ('^books/$','books.views.booklist'),

)

增加('^books/$','books.views.booklist'),

注意目录关系.


4.12 在D:\mysite目录下新建目录templates 作为存放模板的目录


新建一个模板文件booklist.html 内容以下

<ul>
{% for book in books %}
 
  <li> {{book.title}} </li>
{% endfor %}
</ul>


4.13 修改d:\mysite\settings.py 文件


找到 TEMPLATE_DIRS项,修改内容如下:

TEMPLATE_DIRS = (

      'd:/mysite/templates'

)


4.14 看看结果


最后进入mysite 这个目录,输入manage.py runserver 开启网站。 

打开浏览器访问地址http://localhost:8000/books 

[Django笔记]一. Django环境配置及Hello Django工程步骤_第8张图片

图17


我觉得这个Web环境的配置十分简单, 但唯一要注意的就是: 一定要注意各个目录之间的那些路径关系. 因为Python中的包, 模块, 类, 函数的导入都依赖这些路径关系的.

你可能感兴趣的:([Django笔记]一. Django环境配置及Hello Django工程步骤)