在应用管理-代码管理中创建一个版本
这边创建好后看到可以编辑代码,也可以上传代码包,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 } }
[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