免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2868 | 回复: 0
打印 上一主题 下一主题

Django with mod_python环境搭建总结 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-16 10:04 |只看该作者 |倒序浏览
本文转自:
http://allo.ave7.net/Django_with_mod_python

Django
是经常与Rails相提并论的Python Web框架。但别的姑且不说,Django的环境搭建实在是不够亲切,简单的搭建过程中被雷到多次,特记录如下以供备忘。
安装Django
确保在Django安装之前已经安好了Python。
Django的最新Source可以从SVN获得:
http://code.djangoproject.com/svn/django/trunk/
然后执行Django的setup.py
python setup.py install  python setup.py install
这里建议把python目录下的script文件夹加入环境变量
安装Apache的mod_python模块
虽然Django内置了Web服务器,但官方建议使用Apache的mod_python模块(- -|||那你还写他干什么)
安装好Apache后,从
http://www.modpython.org/
获得mod_python并安装(注意下载对应的python和Apache版本)
安装完毕后Apache目录下的modules文件夹内会有mod_python.so,在httpd.conf中写入
LoadModule python_module modules/mod_python.so  LoadModule python_module modules/mod_python.so
将mod_python模块加载进来然后重启Apache
创建Django项目
进入到在Apache的web页面目录下运行
django-admin.py startproject newtest  django-admin.py startproject newtest
至此我们的第一个Django项目便成功创建了,此时需要牢记项目名称『newtest』,因为真正的雷才刚刚开始- -。
基于Location的Mod_python访问配置
同样是修改httpd.conf,下面是来自Django官网的配置例子
"/mysite/">   
    SetHandler python-program   
    PythonHandler django.core.handlers.modpython   
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings   
    PythonDebug On   
    PythonPath "['/path/to/project'] + sys.path"  
  
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings
    PythonDebug On
    PythonPath "['/path/to/project'] + sys.path"
这里有三个参数需要注意:
Location "/mysite/":这个参数是最终在url上反映出来的地址,也就是说目前我们访问Django项目所用的url就是http://localhost/mysite/,此参数可以自由更改,阿猫阿狗都可以。
mysite.settings :这里的mysite必须是Django的项目名,即是刚才所创建的『newtest』,mod_python通过项目名来载入settings.py从而加载整个项目。此处设置不当会出现 ImportError: Could not import settings 'xxx.settings' (Is it on sys.path? Does it have syntax errors?): No module named xxx.settings 错误。
['/path/to/project'] : 这个参数是最雷的,需要设置为相对于Django项目的父目录,也就是运行django-admin.py startproject时的所在目录。
因此我的Apache的htdocs目录位于D:\xampp\htdocs,最终设置结果为
"/newtest/">   
    SetHandler python-program   
    PythonPath "sys.path+['D:/xampp/htdocs']"  
    PythonHandler django.core.handlers.modpython   
    SetEnv DJANGO_SETTINGS_MODULE newtest.settings   
    PythonDebug On   
  
    SetHandler python-program
        PythonPath "sys.path+['D:/xampp/htdocs']"
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE newtest.settings
    PythonDebug On
然后重启Apache,访问http://localhost/newtest/,就可以看到亲切的django运行画面了。
Hello Django
终于可以开始第一个程序了,在Django项目下新建一个helloworld.py文件,内容为
from django.http import HttpResponse   
  
def index(request):   
    return HttpResponse("Hello, Django.")  from django.http import HttpResponse
def index(request):
        return HttpResponse("Hello, Django.")
然后编辑urls.py
from django.conf.urls.defaults import *   
  
urlpatterns = patterns('',   
    (r'^newtest/index', 'newtest.helloworld.index'),   
)  from django.conf.urls.defaults import *
urlpatterns = patterns('',
        (r'^newtest/index', 'newtest.helloworld.index'),
)
最后重启Apache - -|||,注意Django的所有配置更新都是需要重启Apache的……通过http://localhost/newtest/index看看结果吧……


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/8780/showart_1864475.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP