首页 > 代码库 > 使用 Django 和 Python 开发 Web 站点
使用 Django 和 Python 开发 Web 站点
关于Eclipse上面配置PyDev,请各位读者自行百度,这里大鹏哥直接讲述一下做完上述工作之后Django的安装和配置:
首先下载Django安装包:形如Django-*.*.*.tar.gz (eg. Django-1.1.1.tar.gz)
1 、安装
解压Django,我是解压到python27下,在Django目录中有个setyp.py文件,打开运行窗口进行安装。
2 、为了方便开发,我们再来进行配置系统变量
path= C:\Python27\Scripts;C:\Python27\Lib\site-packages\django\bin
3、测试Django是否安装成功
首先看看C:\Python27\Lib\site-packages\django\bin是否存在,然后创建一个工程
Django-admin.py startproject djproject
运行manage.py runserver 后,在浏览器地址栏中输入http://127.0.0.1:8000/
出现以上画面,即安装成功
上面创建好djproject模块,将C:\Python27\Lib\site-packages\django\bin中的djproject目录拷贝到自己的Eclipse工作目录中大鹏哥的是(F:\ME85),然后启动eclipse,点击“File”->“New”->“project…”,将会看到以下画面
选择“Pydev Project”,点击“Next”
创建一个与djproject的工程,路径指向你原生成的工程目录,Grammar Version选择2.7的版本,interpreter对应的也要选择python27,取消系统生成Src目录,点击“finish”完成创建,在工程目录上点右键,选择“Refresh”,你将会到原生成的文件。
现在我们来做一些测试,先来建立一个子集
再刷新一下工程目录
为了使 Django 认识到新应用程序的存在,还需要向 settings.py 文件中的INSTALLED_APPS 添加一个条目。对于这个职位公告板应用程序来说,我们必须添加字符串 djproject.jobs:
然后到数据库了,Django 提供了自己的对象关系型数据映射组件(object-relational mapper,ORM)库,它可以通过 Python 对象接口支持动态数据库访问。这个 Python 接口非常有用,功能十分强大,但如果需要,也可以灵活地不使用这个接口,而是直接使用 SQL。
ORM 目前提供了对 PostgreSQL、MySQL、SQLite 和 Microsoft? SQL数据库的支持。
这个例子使用 SQLite 作为后台数据库。SQLite 是一个轻量级数据库,它不需要进行任何配置,自身能够以一个简单文件的形式存在于磁盘上。
去sqlite官网下载形如sqlite-shell-win32-x86-3080600.zip的文件,解压即可。
在使用这个模型之前,需要在设置文件中对数据库进行配置。SQLite只需要指定数据库引擎和数据库名即可。
这个职位公告板应用程序有两种类型的对象:Location和 Job。Location 包含 city、state(可选)和 country 字段。Job 包含 location、title、description 和 publish date 字段。
使用 manage.py sql 命令查看数据库模式
为了初始化并安装这个模型,请运行数据库命令 syncdb:
注意,syncdb 命令要求我们创建一个超级用户帐号。这是因为 django.contrib.auth 应用程序(提供基本的用户身份验证功能)默认情况下是在 INSTALLED_APPS 设置中提供的。超级用户名和密码用来登录将在下一节介绍的管理工具。记住,这是 Django 的超级用户,而不是系统的超级用户。
Django 的最大卖点之一是其一流的管理界面。这个工具是按照最终用户的思路设计的。它为我们的项目提供了很多数据输入工具。
管理工具是 Django 提供的一个应用程序。与 jobs 应用程序一样,在使用之前也必须进行安装。第一个步骤是将应用程序的模块(django.contrib.admin)添加到INSTALLED_APPS 设置中:
使管理工具可以通过urls.py使用
这个管理应用程序有自己的数据库模型,但也需要进行安装。我们可以再次使用 syncdb 命令来完成这个过程:
使用测试服务器来查看管理工具
现在可以使用http://localhost:8000/admin启动管理工具,并使用前面创建的超级用户帐号进行登录。我们注意到现在还没有可用的模块。
要让一个类可以通过管理工具进行访问,我们需要为其创建一个 Admin子类。然后可以通过为这个子类添加类属性来定制如何对每个类进行管理。清单 19展示了如何将 Location类添加到这个管理工具中。
class Location(meta.Model):
...
class Admin:
list_display =("city", "state", "country")
然后再刷新页面发现如下:
然后在jobs下面创建admin.py文件内容如下:
from django.contrib import admin
from jobs.models import Location,Job
admin.site.register(Location)
admin.site.register(Job)
更改urls.py中的设置如下:
好,这样呢再进8000那个界面就会出现如下,输入前面的那个用户名和密码即可进入:
Admin界面的汉化也比较简单将settings.py中的en-us改为zh-CN即可。汉化后如下:
使用 Django 和 Python 开发 Web 站点