Django最新版(1.10.5)在SAE和Pythonanywhere上面部署流程

一、Django在SAE上的部署

1、注意事项:

  1. 将整个Django项目准备好,是Project,不是app。

  2. SAE平台支持的Django版本貌似只有1.4(或1.8)。

  3. SAE平台不支持SQLite3,所以想在SAE上面省去数据库的费用已经不可能了。

2、准备事项:

  1. 首先你准备好了Django项目。

  2. 你有一个新浪微博账号,并且注册了SAE,如果没有请自行百度注册。

3.请开始你的表演

1、新浪云平台创建新应用

clipboard.png

2、选择配置

clipboard.png

3、创建版本

clipboard.png

clipboard.png

点开链接出现 hello sae 即成功!

4、下载TortoiseSVN,并安装。

地址:https://www.baidu.com/link?url=pYNe3Rph_nCiMxFxsC7nnxemG0Baqj60ldodAtu4UHHfY8cybjxofqNZ7mH8l-tkjGkLOv8rH7POyttCVAZtitEDjMkxNHzo-_Pms3DT2F3&wd=&eqid=80fe9f5a0000983e0000000658a65a57
     
将刚创建的项目checkout下来。这时候你down下来的目录为:APP_NAME/1(版本)/
里面的内容有index.wsgi、config.yaml

5、将Django项目copy到1/中

6、由于SAE不支持Django1.10.5,要自己上传Django代码包,将python27中的Lib/site-packages复制到APP_NAME/1(版本)/中。或者使用virtualenv 创建虚拟环境(自行百度),复制到APP_NAME/1(版本)/中。同时配置index.wsgi


index.wsgi内容如下:`

import sae          
import os,sys
root = os.path.dirname(__file__)
sys.path.insert(0,os.path.join(root,'site-packages'))
from Web import wsgi
application = sae.create_wsgi_app(wsgi.application)`

config.yaml配置如下:



name: smartym
version: 1

libraries:
- name:"django"
  version:"1.10.5"

6、我们还需要配置我们的数据库 ,我们只能有SAE中的数据库Mysql,在SAE中创建Mysql并启动
打开我们项目的Settings.py

将数据部分配置如下:

#SAE   
import sae.const   
MYSQL_DB = sae.const.MYSQL_DB   
MYSQL_USER = sae.const.MYSQL_USER   
MYSQL_PASS = sae.const.MYSQL_PASS   
MYSQL_HOST_M = sae.const.MYSQL_HOST   
MYSQL_HOST_S = sae.const.MYSQL_HOST_S   
MYSQL_PORT = sae.const.MYSQL_PORT

DATABASES = {  
    'default': {  
        'ENGINE': 'django.db.backends.mysql',   
        'NAME': MYSQL_DB,   
        'USER': MYSQL_USER,   
        'PASSWORD': MYSQL_PASS,   
        'HOST': MYSQL_HOST_M,   
        'PORT': MYSQL_PORT,   
    }  
}

7、如果这个时候通过SVN提交到我们的SAE中你会发现,网站找不到静态文件。由于SAE默认静态文件为/static/拷贝到APP_NAME/1/下面,

目录内容如下:

clipboard.png


上传提交!

smartYm
2 声望1 粉丝

人生就像一个程序有很多Bug,得不断的修复~