`

[转]Apache + mod_python + Django Step by Step

 
阅读更多

 

鉴于网上关于 Python 框架 Django 的 Apache + mod_python + Django 环境详细安装加实例文档还是比较难找到,所以石头在这边写一个文档与初学 Django 的同志们以共勉:)

1、下载需要模块。

a、apache (httpd-2.0.54.tar.gz or later)
b、mod_python (mod_python-3.3.1.tgz)
c、Django (Django-0.96.tar.gz)

默认已安装 Python (http://www.python.org)

2、安装配置环境。

首先,正常安装 apache 和 mod_python (http://www.modpython.org/),注意要打开 apache 的 DSO 功能,执行:

#...
#tar -zxvf httpd-2.0.54.tar.gz
#cd httpd-2.0.54
#./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all
#make install clean
#...
#tar -zxvf mod_python-3.3.1.tgz
#cd mod_python-3.3.1
#./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/local/bin/python
#make install clean
#...
#tar -zxvf Django-0.96.tar.gz
#cd Django-0.96
#python setup.py install (If you installed Django using setup.py install, uninstalling is as simple as deleting the django directory from your Python site-packages.)
#...

这样我们就安装好 Apache + mod_python + Django 了,你可以执行 apachectl start 测试一下能不能成功。然后我们开始配置环境,首先配置 httpd.conf 加入 LoadModule python_module modules/mod_python.so (在安装 mod_python 的时候安装程序会自动把 mod_python.so 拷贝到 apache 的 modules 目录下),接着配置虚拟主机。

到这里你就可以利用 mod_python 来进行编程了,然后我们来配置一下 Django 并通过一个实例来让大家对这个现今最 HOT 的 python web 框架有一个大体的了解:首先,我们来学习一下用 django-admin.py 工具来简化你的工作 (当我们安装 Django 的时候,安装程序会自动把 django-admin.py 拷贝到 系统 PATH 下,所以我们可以直接使用它)。首先进入到我们的 python 程序目录 (我用的是:{DOCUMENT_ROOT}/python),执行:

#django-admin.py startproject newtest

这样就可以生成我们的测试工程了默认情况下会生成 {DOCUMENT_ROOT}/python/newtest 目录,该目录下会有如下文件:

__init__.py (表示这是一个 Python 的包)
manage.py (提供简单化的 django-admin.py 命令,特别是可以自动进行 DJANGO_SETTINGS_MODULES 和 PYTHONPATH 的处理,而没有这个命令,处理上面环境变量是件麻烦的事情)
settings.py (它是django的配置文件)
uls.py (url映射处理文件, Karrigell 没有这种机制,它通过目录/文件/方法来自动对应,而 Django 的url映射是url对于某个模块方法的映射,目前不能自动完成)

然后我们在 apache 的虚拟主机配置文件里面加上:

<Location "/newtest/">
SetHandler python-program
PythonPath "sys.path+['{DOCUMENT_ROOT}/python']"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE newtest.settings
#PythonInterpreter mysite
PythonDebug On
</Location>

这里要注意的是对于 PythonPath,必须设置成工程目录 ({DOCUMENT_ROOT}/python/newtest) 的上一级目录!这样我们就完成了 Django 和 apache 的整合了,赶快试一下吧,我们写一个 action 来测试一下 Django 的功能:

3、编写测试程序。

1> 首先,创建 ./list.py :

#coding=utf-8
from django.shortcuts import render_to_response

address = [
{'name':'张三', 'address':'地址一'},
{'name':'李四', 'address':'地址二'}
]

def index(request):
return render_to_response('list.html', {'address': address})

2> 然后,创建一个模版文件 ./templates/list.html :

<h2>通讯录</h2>
<table border="1">
<tr><th>姓名</th><th>地址</th></tr>
{% for user in address %}
<tr>
<td>{{ user.name }}</td>
<td>{{ user.address }}</td>
</tr>
{% endfor %}
</table>

3> 设置模版目录 (编辑 ./settings.py) :

TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates".
# Always use forward slashes, even on Windows.
'./templates',
)

4> 修改 urls.py :

from django.conf.urls.defaults import *

urlpatterns = patterns('',
# Example:
# (r'^newtest/', include('newtest.foo.urls')),
(r'^newtest/list/$', 'newtest.list.index'),

# Uncomment this for admin:
# (r'^admin/', include('django.contrib.admin.urls')),
)

5> 重启 Apache 并访问相应 url (http://localhost/newtest/list/) 即可看到结果页面了:

通讯录
姓名 地址
张三 地址一
李四 地址二


到这里,你已经掌握了 Django 框架的基本内容了,就可以进一步学习 Django 的其他内容了,Enjoy It :)

 

 

-----------------------------------

shagoo 发表于2007年10月15日 11:00:18  IP:举报删除
补充一下:
如果启动 python manage.py syncdb 后报错,提示:
django.core.exceptions.ImproperlyConfigured:Error loading MySQLdb module: ... 必须安装 MySQL-python:http://sourceforge.net/projects/mysql-python

错误处理:
1、如果安装 mysql-python 的时候出现 mysql_config: command not found ... 可以修改setup_posix.py文件,显示地设定 mysql_config :
mysql_config.path = "/data/mysql/bin/mysql_config" 保存,再次运行 python setup.py install 安装成功:)

2、如果遇到错误:
/usr/bin/ld: cannot find -lmysqlclient_r
你可以试一试:
#cd /usr/lib
#ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so libmysqlclient_r.so
然后再 python setup.py install 安装成功:)

3、如果出现 /.python-eggs 目录没权限此类的提示的话 建立该目录并赋予权限就可以了 python 中有一些 package 是必须建立 cache 的 特别是 MySQLdb :)

 

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shagoo/archive/2007/10/10/1818686.aspx

分享到:
评论

相关推荐

    django+apache+mod_wsgi完美匹配包

    **Django + Apache + mod_wsgi 完美匹配包** ...总结,Django+Apache+mod_wsgi的组合为开发者提供了高效、稳定的Web应用托管环境。通过理解每个组件的功能和配置,你可以构建出满足需求的高质量Web服务。

    Windows+Apache+mod_wsgi+virtualenv搭建django

    ### Windows + Apache + mod_wsgi + virtualenv 搭建 Django Web 服务器 #### 一、选择 Apache 的原因 在 Windows 系统上部署 Web 服务器时,选择合适的 Web 服务器软件至关重要。对于 Windows 平台,Apache 通常...

    Django+Apache+mod_python

    安装文件包括: apache django 配置指南.doc 1.Django-0.96.2.tar.gz 2.apache_2.2.9-win32-x86-no_ssl-r2.msi 3.mod_python-3.3.1.win32-py2.5-Apache2.2.exe

    django+apache+mod_wsgi.rar

    标题 "django+apache+mod_wsgi.rar" 暗示了这个压缩包是关于使用Django框架与Apache web服务器结合,并通过mod_wsgi模块在Windows 64位平台上部署Python应用的配置。描述中提到的"python3.5+apache2.4vc14+mod_wsgi_...

    ubuntu下django+apache+mod_wsgi部署

    ubuntu下django+apache+mod_wsgi部署。我的测试成功了!

    windows+apache+mod_python配置django运行环境

    Windows、Apache、mod_python以及Django的配置涉及到几个关键步骤,这是为了让Django Web应用程序能够在Windows操作系统上与Apache服务器配合mod_python模块一同运行。下面,我们将详细介绍每个步骤中的关键知识点。...

    mod_python-3.3.1.win32-py2.5-Apache2.2.exe

    《Apache2.2环境下的mod_python模块与Python2.5集成详解》 在Web开发领域,Apache HTTP Server作为最流行的开源Web服务器,广泛应用于各种规模的网站和应用程序。而Python作为一门强大且易学的编程语言,也因其丰富...

    window7配置python3.3 + django + apache24 + mod_wsgi

    在Windows 7操作系统中搭建一个基于Python 3.3、Django、Apache 2.4和mod_wsgi的Web开发环境是一项技术性较强的任务。这个配置组合能够让你使用Python的高级Web框架Django来开发应用,并通过Apache服务器进行高效...

    搭建apache+python+django+MySQL Web开发环境.docx

    搭建Apache+Python+Django+MySQL Web开发环境 本文将详细介绍如何搭建Apache+Python+Django+MySQL Web开发环境,并对相关的技术进行详细的解释。 一、 Python 语言简介 Python是一种面向对象、直译式计算机程序...

    Django之Apache mod_python安装及HelloWorld.docx

    ### Django之Apache mod_python安装及HelloWorld #### 一、理解Django与Apache mod_python集成 **Django**是一款开源的、基于Python的Web框架,它遵循MVC(Model-View-Controller)设计模式,旨在简化网站开发过程...

    Django搭配mod_python

    通过 mod_python 集成 Django 不仅可以充分利用 Apache 的强大功能,还能让 Django 应用运行得更加高效稳定。然而,要注意的是,随着 Web 技术的发展,mod_wsgi 已经成为更受欢迎的选择,因为它提供了更好的性能和...

    apache+python+django开发环境搭建

    在构建高效的Web应用时,Apache、Python与Django三者的结合是业界广泛认可的解决方案。本文将详尽解析如何在Linux及Windows环境下搭建基于Apache、Python与Django的开发环境,为开发者提供全面的技术指导。 ### ...

    mod_python-master

    这个标签直接指向了mod_python,它是Apache的一个模块,用于在Apache服务器上执行Python脚本。它在20世纪90年代末到2000年代初非常流行,因为它使得Python成为构建高性能Web应用的可行选择。然而,随着其他技术如...

    Django + python + mysql的在线考试系统源码.zip

    Django + python + mysql的在线考试系统源码 Django + python + mysql的在线考试系统源码 Django + python + mysql的在线考试系统源码 Django + python + mysql的在线考试系统源码 Django + python + mysql的...

    腾讯云部署网站py3.8+django2.2+apache2.4+mysql5.7).zip

    这里,我们看到的配置是一个Python 3.8.2与Django 2.2应用,搭配Apache 2.4作为Web服务器,并且使用MySQL 5.7作为数据库,以及mod_wsgi模块来实现Django应用与Apache的集成。同时,还提到了GCC 8.3.0编译器和SQLite ...

    vue+echarts+element ui+django 前后端分离考勤系统源码.zip

    vue+echarts+element ui+django 前后端分离考勤系统源码 vue+echarts+element ui+django 前后端分离考勤系统源码 vue+echarts+element ui+django 前后端分离考勤系统源码 vue+echarts+...

    Django傻瓜式项目部署,包教包会!django1.10+Python2.7+mod_wsgi-3.5win-amd64+apache2.2

    在本文中,我们将深入探讨如何在Windows 64位环境下使用Django 1.10、Python 2.7、mod_wsgi 3.5win-amd64以及Apache 2.2进行项目部署。这个过程适合初学者,我们将一步步地解决在部署过程中可能遇到的问题,包括...

    Django python ERP_softwarecost_python项目_pythondjango_pythonERP_s

    ERP管理软件

    apache2.2 with mod_wsgi for amd64_X64

    使用Apache2.2+mod_wsgi搭建django站点,将apache和mod_wsgi打包提供下载,默认情况下,apache和站点平行放在D盘根目录,如果不会设置,可以看我的博文:http://blog.csdn.net/samed/article/details/50453353,有...

Global site tag (gtag.js) - Google Analytics