Mac下搭建Django+XAMPP(Mysql+Apache)+Python网站开发环境

转自:http://blog.delai.me/2010/08/mc-django-mysql-python.html

最近需要用django做个内部网站,在Mac下搭了个开发环境,由于Mac方面资料不多,前前后后折腾了一个下午才搞定。总结一下,按照下面的步骤安装一定OK。

原有环境:

Mac Snow Leopard 10.6.4, 系统自带的Python 2.6。

一、XAMPP

它包含了MySQL,PHP等东西,绿色软件,好处是,部署简单,更新方便。具体中文介绍看这里

下载安装很简单到只要移动一下鼠标,看这里

这是个绿色软件,事实上就是一个叫XAMPP的文件夹,我把它放在了/Application 里面,如果要卸载,把/Application/XAMPP卸载即可。

我安装的是1.7.3版本

二、Python

系统自带的2.6版本。但默认是位模式的,为了和XAMPP里32位的mysql配合,需要将其改成32位模式:在shell里执行下面代码:

defaults write com.apple.versioner.python Prefer-32-Bit -bool yes

三、Mysql

1)如果XAMPP的目录里没有include文件夹(里面有mysql的一些头文件),需要将32位源码安装包里的include文件夹放到XAMPP的目录里,如/Applications/XAMPP/xamppfiles。可以从这里下载源码安装包,选Mac OS X ver. 10.6 (x86, 32-bit), Compressed TAR Archive 下载。

2)修改PATH, 把/Applications/XAMPP/xamppfiles/bin添加到PATH里面,这样shell里就能使用mysql命令了

我安装的是1.7.3版本

四、MySQLdb for Python (让python能使用mysql)

1)这是Python和MySQL的连接模块。这里下载 。解压后一次执行一下命令:

sudo python setup.py clean

sudo python setup.py build

sudo python setup.py install

2)测试:shell里输入python打开python命令行,输入import MySQLdb回车,如无任何输出,说明安装成功

我安装的是1.2.3版本

五、Django

安装下载很简单,看这里

我安装的是1.2.1版本

判断是否安装成功:

按照官方指南 part one部分做下来,如果没出现什么错误,说明安装成功了。

六、Django用Apache作为web服务器

以下内容假设前提是你已经跟着django官方指南 part 1 到 part 4做过一遍了,对django有个大概的了解了,针对的是Mac,其他平台也是类似的,这年头装逼的软件都喜欢玩跨平台的。

1)MOD_WSGI (让Python(Django)能使用Apache作为web服务器)

1. Downloaded and installed Xcode.

2. Download and unpack mod_wsgi-2.6.tar.gz

3. Terminal “make distclean”

4. Terminal “./configure

5. Terminal “make”

6. Terminal “sudo make install”

7. edit “/Applications/XAMPP/xamppfiles/etc/httpd.conf” add lines below

#add python support

LoadModule wsgi_module modules/mod_wsgi.so

AddType text/html .py

#information about the xxx setting profile

WSGIScriptAlias /xxx /Applications/XAMPP/xamppfiles/django.wsgi

<Directory /Applications/XAMPP/xamppfiles>

Order deny,allow

Allow from all

</Directory>

8. 在/Applications/XAMPP/xamppfiles/添加一个文件 文件名:django.wsgi 如下内容:

import os

import sys

sys.path.append(‘/Users/arthasshih/python/django_pro’)

os.environ['DJANGO_SETTINGS_MODULE'] = ‘xxx.settings’

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

这是我的配置,需要修改的是xxx.settings(xxx是django工程的名字) 和 /Users/arthasshih/python/django_pro(这个是django工程xxx所在的目录) 具体看 这里 和 这里 和 这里

这样,就可以直接使用http://localhost/xxx来登录这个django网站了,由Apache来handle访问流量,而不需要使用manage.py runserver,比较这玩意儿只是简易的web服务器,用于测试可以,用来做对外服务是不行的。

2)使用静态文件

对于css, image, js等外部元素,Django不会对其进行直接管理的,官方的简易是,把这些静态文件与Django隔离开来(打网站确实都是这么做的),以保持Django内部逻辑的一致性。对于单机环境,可以利用Apache搞个目录或domain专门放这类文件,在html页面的head里直接引用即可,跟Django没关系。

1. edit “/Applications/XAMPP/xamppfiles/etc/httpd.conf” add lines below

#total media location like css js image

Alias /media/ “/Users/arthasshih/python/django_pro/media/”

<Directory “/Users/arthasshih/python/django_pro/media/”>

AllowOverride None

Options None

Order allow,deny

Allow from all

</Directory>

里面有些部分需要修改成你自己的配置。

这样,你就可以把各种静态文件放到/Users/arthasshih/python/django_pro/media/下面,比如media下有style.css文件。在django的html页面文件里head部分加入

<link rel=”Stylesheet” href=”/medit/style.css” type=”text/css”/>

即可。这里/media对应的就是http://localhost/media/,实际指向/Users/arthasshih/python/django_pro/media/

3)解决Django admin页面显示不正常的情况

由于使用了Apache,可能会导致后台admini打开来显示不正常,具体表现就是没有正确加载css文件。修改Apache配置把他需要的路径选择好就可以了。可以举一反三。

编辑加入

#media location for django admin

Alias /admin_media “/Library/Python/2.6/site-packages/django/contrib/admin/media”

<Directory “/Library/Python/2.6/site-packages/django/contrib/admin/media”>

AllowOverride None

Options None

Order allow,deny

Allow from all

</Directory>

这样,就有了个http://localhost/admin_media指向django admin的css等文件所在位置。

然后在工程的setting.py文件里配置一下这一信息即可:修改其中的

ADMIN_MEDIA_PREFIX = ‘/admin_media/’

这样,django admin这个app就知道从http://localhost/admin_media下面加载需要的css文件了。

#total media location like css js image

Alias /media/ “/Users/arthasshih/python/django_pro/media/”

<Directory “/Users/arthasshih/python/django_pro/media/”>

AllowOverride None

Options None

Order allow,deny

Allow from all

</Directory>

里面有些部分需要修改成你自己的配置。

这样,你就可以把各种静态文件放到/Users/arthasshih/python/django_pro/media/下面,比如media下有style.css文件。在django的html页面文件里head部分加入

<link rel=”Stylesheet” href=”/medit/style.css” type=”text/css”/>

即可。这里/media对应的就是http://localhost/media/,实际指向/Users/arthasshih/python/django_pro/media/

4)解决Django admin页面显示不正常的情况

由于使用了Apache,可能会导致后台admini打开来显示不正常,具体表现就是没有正确加载css文件。修改Apache配置把他需要的路径选择好就可以了。可以举一反三。

编辑加入

#media location for django admin

Alias /admin_media “/Library/Python/2.6/site-packages/django/contrib/admin/media”

<Directory “/Library/Python/2.6/site-packages/django/contrib/admin/media”>

AllowOverride None

Options None

Order allow,deny

Allow from all

</Directory>

这样,就有了个http://localhost/admin_media指向django admin的css等文件所在位置。

然后在工程的setting.py文件里配置一下这一信息即可:修改其中的

ADMIN_MEDIA_PREFIX = ‘/admin_media/’

这样,django admin这个app就知道从http://localhost/admin_media下面加载需要的css文件了。

结束

http://stackoverflow.com 这个网站非常好,关于程序的很多问题能在上面解决,强烈推荐。

posted @ 2012-10-20 16:28  Alexander.liu  阅读(3316)  评论(0编辑  收藏  举报