zoukankan      html  css  js  c++  java
  • 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 这个网站非常好,关于程序的很多问题能在上面解决,强烈推荐。

  • 相关阅读:
    scrapy中selenium的应用
    Django的锁和事务
    redis
    【leetcode】187. Repeated DNA Sequences
    【leetcode】688. Knight Probability in Chessboard
    【leetcode】576. Out of Boundary Paths
    【leetcode】947. Most Stones Removed with Same Row or Column
    【leetcode】948. Bag of Tokens
    【leetcode】946. Validate Stack Sequences
    【leetcode】945. Minimum Increment to Make Array Unique
  • 原文地址:https://www.cnblogs.com/liuqxFuture/p/2732277.html
Copyright © 2011-2022 走看看