最近受朋友之托,搭建一个用于开发小型ERP系统的软件框架。因为项目周期较短,需要一个灵活的快速开发框架,于是我就想到了Django。初步打算是以Django为基础,在其之上通过编写一些通用组件,形成一个可供朋友使用的快速开发框架。这里记录一下整个过程,作为备忘。
------------------------------------------------------------------------------------------
先开出一个安装清单:
- 操作系统: Windows 2003 SP2
- 数据库: Oracle 10g Express Edition 下载: www.oracle.com
- Python: Python 2.6.5 下载: www.python.org
- Python Oracle插件: cx_oracle 5.0.4 下载: http://cx-oracle.sourceforge.net/
- Django: Django 1.3 下载: http://www.djangoproject.com/download/
虽然Django支持多种数据库,但是Oracle仍然是我的最爱。Python选2.6是因为2.5不爽,2.7+没用过。。。3.0+Django到目前为止,还不支持。。。
------------------------------------------------------------------------------------------
安装步骤:
- 安装Windows 2003 打上 sp2补丁,做好其他更新
- 安装Oracle Express,这个很方便
- 安装Python,也很方便,记得将安装目录设置在环境变量path中
- 安装cx_oracle,方便too
- 安装Django
- 先将下载下来的压缩包解压
- 然后在解压目录中,执行setup.py install
- 非必做,将Python安装目录\Lib\site-packages\django\bin设置在环境变量path中
至此所有的软件都安装到位。
------------------------------------------------------------------------------------------
新建Django的project:
- 在理想的目录位置,执行命令django-admin.py startproject Plat。其中Plat为项目名,Django会自动生成一个名为Plat的目录,并在其中生成manage.py, settings.py, urls.py三个重要文件。
- 到这里已经ok了,运行manage.py runserver即可启动服务(推荐使用 manage.py runserver 0.0.0.0:8000 启动服务。一来避开端口冲突,二来0.0.0.0的地址实际上就是使这个web服务可以监听所有的公用ip地址,也就是可以被同网络的其他机器访问到,我真是啰嗦。。。)。在浏览器中输入http://localhost:8000 看一看效果。
- 接着,设置数据库连接。用编辑器打开settings.py,修改DATABASES变量下default中的设置(DATABASES = { 'default': { 'ENGINE': 'django.db.backends.oracle', 'NAME': 'XE', 'USER': 'PLAT', 'PASSWORD': 'PLAT', 'HOST': '', 'PORT': '', } })。其中user和password是我在数据库中新建的用户名及其密码。host和port使用本地及默认端口,所以留空字符串即可。
- 最后执行一下python manage.py syncdb 命令,在数据库中,创建Django组件所需要的数据表。
因为使用的是Django用纯python编写的轻量级web服务,所以仅能满足一般开发需要(实测表明,在处理大量静态文件时,连一般需要也不能满足。。。),如果要把project部署为生产环境,那么还需要使用apache+mod_wsgi。后续将写一篇如何搭建Django生产环境的备忘。
------------------------------------------------------------------------------------------
后记,有朋友想搭建一个linux的Django开发环境,具体做法如下:
还是先开出一个清单:
- 操作系统 Linux Ubuntu 10.10
- 数据库: Oracle 10g Express Edition 下载: www.oracle.com
- Python Oracle插件: cx_oracle 5.0.4 下载: http://cx-oracle.sourceforge.net/
- Django: Django 1.3 下载: http://www.djangoproject.com/download/
比起前面的windows环境,省下了python,因为Ubuntu已经中预装有python,其他照旧下载。
安装Linux的时候注意事项是,要为操作系统分配足够的数据交换区,至少是内存的2倍。也就是你的机器有512M的内存,那么你就要分配1G的数据交换区。这个要求是安装oracle时的必须。
在oracle的主站下载oracle的linux安装文件,因为Ubuntu的安装包是deb,所以下载deb的那个。假使你的安装包就下载在/download目录下,安装命令就是 dpkg -i /download/xxxxxxx.deb (xxxxx.deb就是下载的那个包名)。注意安装oracle需要有系统管理员权限。
在安装oracle的过程中,会报一个缺少libaio库的错误,并终止安装。解决办法是此时运行一下apt-get -f install命令,然后再重新运行安装命令即可。
设置环境变量,在用户的.bashrc配置文件中加入以下语句
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
因为目前cx_Oracle仅提供源码编译安装和rpm包安装而没有提供deb包安装。所以,在Ubuntu的环境下,我们需要安装alien,然后使用alien将rpm包装换为deb包,再然后使用dpkg安装。这之后还有一堆路近设置的事情。