文档章节

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
粉丝 33
博文 124
码字总数 132566
作品 0
杨浦
QA/测试工程师
七日Python之路--第十三天(最后一天)

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

明天以后
2014/08/18
0
0
在sae中使用jfinal框架开发web工程遇到的问题

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

HeAntai
2013/09/16
0
1
基于SAE轻量级PHP开发框架--Mini2SAE

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

感染源
2010/06/08
2.6K
0
在 SAE 上部署羊驼!CMS

羊驼是一款非常灵活的轻量级!CMS ,可用于构架各种网站。 并可作为php应用开发的基础平台。 但是羊驼本身并不支持 Sina App Engine 的部署。 因此需要做以下调整: 1. 羊驼暂不支持 SAE 的文...

BatM3
2012/04/08
2.4K
11
在SAE上部署ThinkOX社交框架

鉴于本次RC版对SAE做了一系列的兼容,且在SAE上部署还是与OT有略微不同的,所以整理了一下具体的部署方法。 1.下载网站安装包:here 2.在本地安装ThinkOX 3.安装完毕后,将所安装好的网站数据...

陈一枭
2014/07/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
39分钟前
1
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0
搞定Northwind示例数据库,无论哪个版本的SQLServer都受用

Northwind数据库 从这里可以找到突破口: http://social.msdn.microsoft.com/Forums/zh-CN/Vsexpressvb/thread/8490a1c6-9018-40c9-aafb-df9f79d29cde 下面是MSDN: http://msdn2.microsoft......

QQZZFT
昨天
1
0
mysql主从同步,安装配置操作

准备 两台mysql服务,我这里准备了如下: 主库:192.168.176.128 从库:192.168.176.131 如何在Linux上安装mysql服务,请看https://blog.csdn.net/qq_18860653/article/details/80250499 操作...

小致dad
昨天
4
0
Redis的“死键”问题

大规模的数据库存储系统中,数据的生命周期管理是很有必要的;从业务角度发现过期数据,数据归档和数据碎片整理等。以MySQL为例,1个运行很久的TB级MySQL实例中,极有可能数百GB的数据,对业...

IT--小哥
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部