文档章节

Django1.6在sae上的部署

terry_hding
 terry_hding
发布于 2015/04/18 15:08
字数 1251
阅读 72
收藏 0
点赞 0
评论 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
粉丝 31
博文 118
码字总数 133369
作品 0
杨浦
QA/测试工程师
七日Python之路--第十三天(最后一天)

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

明天以后 ⋅ 2014/08/18 ⋅ 0

在sae中使用jfinal框架开发web工程遇到的问题

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

HeAntai ⋅ 2013/09/16 ⋅ 1

基于SAE轻量级PHP开发框架--Mini2SAE

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

感染源 ⋅ 2010/06/08 ⋅ 0

在 SAE 上部署羊驼!CMS

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

BatM3 ⋅ 2012/04/08 ⋅ 11

在SAE上部署ThinkOX社交框架

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

陈一枭 ⋅ 2014/07/18 ⋅ 0

sina SAE开发部署JAVA web项目

SAE中的中间件使用的是jetty,不是tomcat,SAE中已经有了部分java WEB必须的jar包,所以有些jar包我们并不需要导入,不然在SAE中会产生jar包冲突,具体几个什么jar包可以在SAE开发文档中看得...

ctor ⋅ 2015/08/19 ⋅ 3

求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 ⋅ 4

问下如何发布开源代码?

我对WordPress3.2进行了修改来适应SAE,希望发布源代码,但是发现Google各种被墙 希望寻找一个稳定的发布地点,来发布更新的版本 ----- ps:其实我主要想学习一下SAE的PHP部署,顺便准备维护好...

抢小孩糖吃 ⋅ 2011/07/08 ⋅ 2

SAE上使用本地sql文件建表时出错解决方法

在SAE上部署Django时需要上传本地的数据库结构,我也导出了本地数据库为sql文件,但是上传到SAE上时遇到了如下错误: SQL 查询: -- Dumping database structure for cgfalconCREATE DATABASE...

在云端-看世间变幻 ⋅ 2012/10/28 ⋅ 0

JFinal项目成功部署到SAE之后,上传文件出现问题

@JFinal 你好,想跟你请教个问题: JFinal项目成功部署到SAE之后,上传文件出现问题: 这是错误日志: 相关代码: 之前本地测试上传图片保存至七牛上,是没有问题的,部署至SAE上之后,修改了...

chris_hellowoo ⋅ 2015/04/28 ⋅ 2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CENTOS7防火墙命令记录

安装Firewall命令: yum install firewalld firewalld-config Firewall开启常见端口命令: firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-po......

cavion ⋅ 18分钟前 ⋅ 0

【C++】【STL】利用chromo来测量程序运行时间与日志时间打印精确到微秒

直接上代码吧,没啥好说的。头疼。 #include <iostream>#include <string>#include <ctime>#include <sstream>#include <iomanip>#include <thread>#include <chrono>using ......

muqiusangyang ⋅ 21分钟前 ⋅ 0

Mac环境下svn的使用

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简...

故久呵呵 ⋅ 31分钟前 ⋅ 0

破解公司回应苹果“USB限制模式”:已攻破

本周四,苹果发表声明称 iOS 中加入了一项名为“USB 限制模式”的功能,可以防止 iPhone 在连接其他设备的时候被破解,并且强调这一功能并不是针对 FBI 等执法部门,为的是保护用户数据安全。...

六库科技 ⋅ 33分钟前 ⋅ 0

MyBtais整合Spring Boot整合,TypeHandler对枚举类(enum)处理

概要 问题描述 我想用枚举类来表示用户当前状态,枚举类由 code 和 msg 组成,但我只想把 code 保存到数据库,查询处理,能知道用户当前状态,这应该怎么做呢?在 Spring 整合MyBatis 的时候...

Wenyi_Feng ⋅ 51分钟前 ⋅ 0

synchronized与Lock的区别

# <center>王梦龙的读书笔记第一篇</center> ## <center>-synchronized与Lock的区别</centre> ###一、从使用场景来说 + synchronized 是能够注释代码块、类、方法但是它的加锁是和解锁使用一......

我不想加班 ⋅ 今天 ⋅ 0

VConsole的使用

手机端控制台打印输出,方便bug的排查。 首先需要引入vconsole.min.js 文件,然后在文件中创造实例。就能直接使用了。 var vConsole = new VConsole(); vConsole的文件地址...

大美琴 ⋅ 今天 ⋅ 0

Java NIO之字符集

1 字符集和编解码的概念 首先,解释一下什么是字符集。顾名思义,就是字符的集合。它的初衷是把现实世界的符号映射为计算机可以理解的字节。比如我创造一个字符集,叫做sex字符集,就包含两个...

士别三日 ⋅ 今天 ⋅ 0

Spring Bean基础

1、Bean之间引用 <!--如果Bean配置在同一个XML文件中,使用local引用--><ref bean="someBean"/><!--如果Bean配置在不同的XML文件中,使用ref引用--><ref local="someBean"/> 其实两种......

霍淇滨 ⋅ 今天 ⋅ 0

05、基于Consul+Upsync+Nginx实现动态负载均衡

1、Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/local/srcwget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip 解压consu......

北岩 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部