1 到http://sae.sina.com.cn/注册一个账号
用微博账号进行登录并授权
授权后进入到注册页面
这边手机号绑定,也就意味着一个手机号只能用一次,图借用别人的
手机验证后,全部的认证过程就此结束,也就拥有了一个SAE的账号
2 管理APP
创建应用
一个应用一个二级域名,当然也可以绑定独立域名,需要在sae上进行备份再创建,否则流量会很大
创建一个python的应用,应用名为mysite,这个应用名好比 django-admin.py startproject mysite也就是说sae上的应用指的是django上的project
创建完成后,会有一个mysite的应用名,点击进入编辑
在应用管理-代码管理中创建一个版本
这边创建好后看到可以编辑代码,也可以上传代码包,sae支持svn上传因此要下载一个TortoiseSVN上传代码用进入到本地,找个空档右击则会出现 SVN-Checkout,输入用户名,密码进行下载sae上的版本到本地
进入到hding/1目录下会有 config.yaml和index.wsgi两个文件,因为版本并没有内容,所以只有这两个文件
vi config.yaml
name: terryding
version: 1
libraries: \\必需配的
- name: "django" \\千万记得最前面有个’-’,冒号后面有空格,最好用vim有颜色标记
version: "1.6"
handlers: \\静态文件
- url: /static
static_path: /marry/static
vi index.wsgi
#coding:utf-8
import os
import sys
\\部署1.6
root = os.path.dirname(__file__)
sys.path.insert(0,os.path.join(root,'.','site-packages/Django-1.6.11')) //告知路径在1/site-packages/Django-1.6.11取相关文件和模块
os.environ.setdefault("DJANGO_SETTINGS_MODULE","mysite.settings") //your project name寻找settings.py
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
把本地调试好的project移到hding/1/文件夹下,文件目录形式
└─hding
└─1
├─mysite django-admin.py startproject mysite
├─config.yaml
├─index.wsgi
├─managy.py
└─polls django-admin.py startapp polls
├─static
│
└─templates
回到文件夹hding/1/ 右击SVN commit
不选ALL会有文件选不中,否则你可以先add再submit也行,代码上传上去以后还跑不起来,因为用的是Django1.6,因此部署1.6,也就是把Django1.6的安装包同时上载上去
由于sae只支持到1.5,所以需要部署django 1.6 https://www.djangoproject.com/download/在本地hding/1/文件夹下新建 site-packages, 再把下载下来的Django-1.6.11放到site-packages下面, 先对文件夹1执行下clean up, 然后再上传,会执行有改动的部分上传,即site-packages上传
这样有了django1.6我们就已经可以运行程序,如果用到了数据库必需是mysql, 修改数据库
vi blog/settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'app_hding', //app_yourappname
'PORT': '3307', //port
'USER': 'l1yw5z5zxl', //access_key
'PASSWORD': '2x0kjmlmwlzml40hx433zk00zj51zhjz1w2zy5jx', //secret key
'HOST': 'w.rdc.sae.sina.com.cn' //w.rdc.sae.sina.com.cn
}
}
MySQL数据库初始化后,需要建表,SQL命令来自于本地环境敲命令
[root@Alicia]# python manage.py sqlall polls
BEGIN;
CREATE TABLE `polls_poll` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`question` varchar(200) NOT NULL,
`pub_date` datetime NOT NULL
)
;
CREATE TABLE `polls_choice` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`poll_id` integer NOT NULL,
`choice_text` varchar(200) NOT NULL,
`votes` integer NOT NULL
)
;
ALTER TABLE `polls_choice` ADD CONSTRAINT `poll_id_refs_id_3aa09835` FOREIGN KEY (`poll_id`) REFERENCES `polls_poll` (`id`);
CREATE INDEX `polls_choice_70f78e6b` ON `polls_choice` (`poll_id`);
COMMIT;
测试
数据库建立之后,再次登录二级域名,访问成功,但是原本一些数据表仍然没有建立起来,只有models.py的表建起来了,是因为没有在sae真正做过python managy.py syncdb的关系,目前还没有完全弄明白,但不用系统的数据库就没有问题,以后再进一步研究
http://www.tuicool.com/articles/ZzAvUr
来源:oschina
链接:https://my.oschina.net/u/2303535/blog/403333