python25+django1.4+mysql5.1+apache2.2搭建生产管理网站

最近一周在用python+django搭建一个生产管理网站,由于是第一次用python+django组合搭建网站故而碰到了很多问题,下面将网站搭建详细分享下

     先推荐一个好的网站:http://www.cnblogs.com/lt1983/archive/2012/05/16/2503640.html 笔者基本上都是按照这个网站介绍开发的

   

1.下载Apache服务器安装文件,采用2.2.21版本,下载链接为:http://httpd.apache.org/download.cgi 

  检查Apache Monitor工具,出现No services installed的提示信息。原因可能是输入Domain Name不正确。

   卸载重装均无效,网上搜索了解相关问题点:在命令行输入 httpd.exe -k install -n apache2 创建服务。

   本机浏览器输入 127.0.0.1正常工作,对外启用服务器,在打开防火墙的情况下,设置为Web服务器。

2.安装Python的经历,之前安装环境采用的是2.5版本,而现在Python已经进入3K时代,2.X版本也升级到2.7版本。

   在网站上了解到Python的兼容性并不好,因此还是希望采用2.5版本。

   在Python官方网站上查看到需要使用最初的2.5版本,需要下载源代码重新编译,试着编译了一下,有点麻烦。

   还好在运营的服务器上找到了Python 2.5安装包。

3.Python与Apache的mod_python安装,很多网络贴所指引的链接都失效了,通过mod_python在WikiPedia上的条目找到下载链接

   http://archive.apache.org/dist/httpd/modpython/win/3.3.1/

4.安装MySQL数据库,由于直接从MySQL网站上下载数据库安装文件需要注册,为了简单直接从华军下载网页上下载安装包。

   考虑到使用新的数据库特性,因此下载MYSQL 5.5版本进行安装

5.阅读安装Django指南,由于Python访问MySQL数据库,需要安装MySQL与Python的接口库。

   从http://sourceforge.net/projects/mysql-python/下载,阅读发现只支持Python2.3-2.6,MySQL 3.23-5.1。

   因此MySQL需要重新安装5.1版本。根据网上说明 5.1.60为最新版本,需要获取带最全的客户端安装版本。

6.安装Django,下载包为:https://docs.djangoproject.com/en/1.3/topics/install/

   这里说明下虽然笔者是用Django1.4,但网上关于Django1.4的资料不多且Django1.4跟之前的版本差异比较大,这也给第一次开发的小菜带来了很多麻烦,当然也给笔者带来了很多麻烦,所已笔者还是建议装Django1.3

7.python的开发工具可选用PyCharm2.0,可在其官网上下载,密钥可用

用户名:yueting3527


注册码:
===== LICENSE BEGIN =====
93347-12042010
00001FMHemWIs"6wozMZnat3IgXKXJ
2!nV2I6kSO48hgGLa9JNgjQ5oKz1Us
FFR8k"nGzJHzjQT6IBG!1fbQZn9!Vi
===== LICENSE END =====

 

装完之后按照上面所推荐网站的步骤开发即可,但是笔者在使用过程中碰到了很多问题,下面就将这些一一道来

1.在配置settings.py数据库时应这样配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',       # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'pmanage',                      # Or path to database file if using sqlite3.
        'USER': 'root',                      # Not used with sqlite3.
        'PASSWORD': '31107361990',                  # Not used with sqlite3.
        'HOST': 'localhost',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '3306',                      # Set to empty string for default. Not used with sqlite3.
    }
}

而不是

DATABASES = {
    'default': {
        'ENGINE': 'mysql',       # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'pmanage',                      # Or path to database file if using sqlite3.
        'USER': 'root',                      # Not used with sqlite3.
        'PASSWORD': '31107361990',                  # Not used with sqlite3.
        'HOST': 'localhost',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '3306',                      # Set to empty string for default. Not used with sqlite3.
    }
}

直接用'ENGINE': 'mysql'会报错

2.对于django1.4来说新建一个工程后在其内会多出一个同名文件夹settings.py   urls.py  __init__.py  wsgi.py 都在此文件夹内

所以在配置apache httpd.conf时  location应为

<Location "/">
    SetHandler python-program
    PythonPath "['D:/Python25/MyProject/pManage'] + sys.path"
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE pManage.settings
    PythonInterpreter pManage
    PythonDebug On
</Location>

而不是

<Location "/">
    SetHandler python-program
    PythonPath "['D:/Python25/MyProject'] + sys.path"
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE pManage.settings
    PythonInterpreter pManage
    PythonDebug On
</Location>

3 配置apache的conf文件时不能使用这样的别名:Alias /static D:/Program Files/Django-1.4/django/contrib/admin/static(Program Files中间不能有空格)
出错时应先检查Apache的日志文件
Apache2.2\logs\error.log


4 针对django1.4需这样配置:
Alias /static D:/Python25/Lib/site-packages/django/contrib/admin/static
<Location "/static/">
   SetHandler None
</Location>

5  python中显示中文应在字符串前加u 如u'中文'而不是'中文'

另外就是笔者关于http传输的理解:我们所输的网站其实就是链接到服务器(以ip地址做唯一识别)的各类文件,如html文件txt文件等等,打开地址的过程其实就是文件传输的过程

 

6 在 从开发环境过度到apache的生产环境时,打开admin后台管理发现admin的CSS, JS等未加载进去,研究后得知应该在apache的httpd-django配置文件中加入: 

Alias /static "/your_wsgi/your_app/static"  并把admin的CSS、JS、IMG文件拷贝入/your_wsgi/your_app/static 目录中

详细可参照 http://www.cnblogs.com/bourneli/archive/2013/01/21/2869327.html

最后笔者推荐一些比较好的网站:

http://blog.csdn.net/dskit/article/details/5106701

http://www.ibm.com/developerworks/cn/opensource/os-django-admin/?ca=drs-tp4608

http://archive.cnblogs.com/a/2270570/

http://bbs.chinaunix.net/thread-1704009-1-1.html

http://www.vimer.cn/2012/05/django1-4%E5%9C%A8%E9%85%8D%E7%BD%AE%E4%B8%8A%E7%9A%84%E4%B8%80%E4%BA%9B%E5%8F%98%E6%9B%B4.html

http://isun.blog.sohu.com/88570908.html

http://blog.csdn.net/liguo9860/article/details/6915494

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值