Django最新版(1.10.5)在SAE上面部署流程
Django最新版(1.10.5)在SAE和Pythonanywhere上面部署流程
一、Django在SAE上的部署
1、注意事项:
将整个Django项目准备好,是Project,不是app。
SAE平台支持的Django版本貌似只有1.4(或1.8)。
SAE平台不支持SQLite3,所以想在SAE上面省去数据库的费用已经不可能了。
2、准备事项:
首先你准备好了Django项目。
你有一个新浪微博账号,并且注册了SAE,如果没有请自行百度注册。
3.请开始你的表演
1、新浪云平台创建新应用
2、选择配置
3、创建版本
点开链接出现 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/下面, 目录内容如下:
上传提交!