您的位置:首页 > 编程语言 > Go语言

SAE下创建一个django项目

2014-06-30 20:23 232 查看

最近准备使用SAE作为django的服务器,由于SAE目前不支持django1.6,因此记录下搭建django1.6的详细过程

1、在SAE中创建APP

2、将SVN空间克隆到本机上(使用SAE自带的上传发现总是会有问题,并且为了代码控制还是选择了直接使用SVN)

svn co <app_svn_url>

3、克隆完仓库后会有如下目录:

app_name
-1(version)
--index.wsgi
--config.yaml

4、创建django项目

(1)创建django项目,在版本目录1下执行

django-admin.py startproject mysite

(2)修改版本目录1下的config.yaml(为了制定是django项目,以及django版本),修改后的config.yaml如下:

name: app_name
version: 1

libraries:
- name: "django"
version: "1.6"

(3)修改版本目录1下的index.wsgi,默认的index.wsgi指向的是一个基本的python项目,要想要指向django项目还需要修改,修改后如下:

import os
import sys

root = os.path.dirname(__file__)

sys.path.insert(0, os.path.join(root, 'site-packages'))

import sys
import sae
sys.path.append("mysite/")
from mysite import wsgi

application = sae.create_wsgi_app(wsgi.application)

注意:由于index.wsgi文件与要使用的django项目中的wsgi.py文件不在同一级目录中,因此使用相对路径定位wsgi.py文件,./mysite是进入django的主目录,目录下有manage.py文件和mysite文件夹,而wsgi.py文件在mysite文件夹中。

(4)修改mysite/mysite/wsgi.py,使packages中的django1.6得到引入

import os
import sys

root = os.path.dirname(__file__)

sys.path.insert(0, os.path.join(root, '..', 'site-packages'))
# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks
# if running multiple sites in the same mod_wsgi process. To fix this, use
# mod_wsgi daemon mode with each site in its own daemon process, or use
# os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings"
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

# This application object is used by any WSGI server configured to use this
# file. This includes Django's development server, if the WSGI_APPLICATION
# setting points here.
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

# Apply WSGI middleware here.
# from helloworld.wsgi import HelloWorldApplication
# application = HelloWorldApplication(application)


(5)一切配置完毕,运行会发现错误,因为SAE目前并没有django1.6,因此需要开发者自己上传django1.6的依赖包,做法如下:

(a)在版本目录1下创建文件夹site-packages(用来存放django环境)

(b)找到系统中python目录下(/Library/Python)的library/site-packages,可以看见django文件夹,将文件夹整个复制到site-packages目录下

(c)执行svn同步命令

svn add 1/mysite
svn add 1/site-packages
svn commit -m "first time"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  django sae python svn django1.6