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/下面,
目录内容如下:
上传提交!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。