文档章节

Django1.6在sae上的部署

terry_hding
 terry_hding
发布于 2015/04/18 15:08
字数 1251
阅读 74
收藏 0
本人最近打算从python入手,进入开发领域,但是光学不练假把式,于是搞起了django,这是一个python的web框架,用起来倒也顺手,做好的网站别人看不到也胸闷,于是就玩NAT穿越,可恶的长宽让我失去了最后的稻草,于是乎找到了SAE,SAE对中级开发者以上才算是永久免费,但对于初学者的我来说,它还是可以小小的满足我一下,初步认证基本可以使博客免费一年吧,如果真有什么需要,也可以按需购买,个人小站一年也就20元钱就可以搞的定,更何况以后水平高了,还能享受免费,最最重要的是在SAE上部署django有很好的文档,其它的空间都是php的多,所以决心在SAE上进行部署。

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.yamlindex.wsgi两个文件,因为版本并没有内容,所以只有这两个文件

vi config.yaml
name: terryding
version: 1

libraries:                        \\必需配的                                            
-   name: "django"               \\千万记得最前面有个’-’,冒号后面有空格,最好用vim有颜色标记
    version: "1.6"
    
handlers:                         \\静态文件
-   url: /static
static_path: /marry/static



修改index.wsgi
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;



把begin~commit copy到SQL部分执行后,建表成功

测试

数据库建立之后,再次登录二级域名,访问成功,但是原本一些数据表仍然没有建立起来,只有models.py的表建起来了,是因为没有在sae真正做过python managy.py syncdb的关系,目前还没有完全弄明白,但不用系统的数据库就没有问题,以后再进一步研究

参考:
http://www.tuicool.com/articles/ZzAvUr




© 著作权归作者所有

共有 人打赏支持
terry_hding
粉丝 34
博文 132
码字总数 136663
作品 0
杨浦
QA/测试工程师
私信 提问
七日Python之路--第十三天(最后一天)

好久没更新博客了。前几天一个初级博客基本成型,然后想着怎么放到sae上,这事着实给难住了。最后算是基本完成,Django1.6需要自己上传。然后就换成了Django1.5,然后配置好数据库并将数据S...

明天以后
2014/08/18
0
0
求python3.3 + django1.6不用MysqlDb连接mysql5.5的settings.py的配置怎么写

现在Mysqldb插件不支持python3,我下载了Mysql官网上的mysql-connector-python-1.0.9-py3.3.msi安装后,可以连上mysql,但是我在学习django1.6,django1.6的配置文件中'ENGINE': 'django.db....

宝玉
2013/04/22
2.2K
4
基于SAE轻量级PHP开发框架--Mini2SAE

Mini2SAE: Mini–核心文件只有15K, 2–to, SAE–Sina App Engine(新浪应用引擎) 基于SAE快速、简单的、轻量级PHP开发框架…… 遵循BSD开源协议的免费开源框架…… 为采用SAE结合第三方开放...

感染源
2010/06/08
2.6K
0
在sae中使用jfinal框架开发web工程遇到的问题

sae使用总结 一、部署应用后访问报错 web应用在本地开发完成,部署使用无问题,在部署到sae上后访问应用,报以下错误 经定位,原因在在于jfinal中的JFinalFilter类中。 本地开发时,在JFina...

HeAntai
2013/09/16
0
1
七日Python之路--第三天(之初试Django 2-1)

#意外情况出现,以为电脑硬盘真的坏掉了。原来是忘记插电源 @。@ ~ 前些时间玩游戏,电脑无故突然断电关机,再开机一闪便又突然断电关机。最终找到原因,电脑过热,保护性关机。然后将光驱拆...

明天以后
2014/07/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

设计模式之工厂模式

本篇博文主要翻译这篇文章: https://www.journaldev.com/1392/factory-design-pattern-in-java 由于翻译水平有限,自认为许多地方翻译不恰当,欢迎各位给出宝贵的建议,建议大家去阅读原文。...

firepation
8分钟前
1
0

中国龙-扬科
10分钟前
0
0
简单谈谈vue的过渡动画

在vue中,实现过渡动画一般是下面这样: `<``transition` `name``=``"fade"``>``<``div``></``div``>``</``transition``>` 用一个transition对元素或者组件进行封装. 在过渡的时候,会......

嫣然丫丫丫
16分钟前
1
0
文件及目录处理

file_get_contents file_put_contens fopen r/r+ 只读打开,指针开头 w/w+ 写入打开,指针开头,清空文件,不存创建 a/a+ 追加打开,指针末尾,不存创建 x/x+ 创建模式打开 b 二进制打开 t 文本打开...

关元
18分钟前
0
0
如何在Angular中使用better-scroll插件

由于需要在一个固定的的高度做无限滚动,本来css的overflow-y也可以完成的,奈何安卓不是很流畅,还很生硬,就是用了第三方库better-scroll,配合angular的ng-content。angular的ng-content和...

前端攻城老湿
25分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部