专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Go

SAE开发01-在SAE部署Django1.7.3

发布时间:2011-06-29 18:24:32 文章来源:www.iduyao.cn 采编人员:星星草
SAE开发01----在SAE部署Django1.7.3

申请

首先你要有个SAE账号,用新浪微博就可以注册。注册、登陆.................



创建接下来要做的就是使用SVN部署你的代码了。

1、来到你的SAE首页http://sae.sina.com.cn/?m=myapp,创建新应用,开发语言选择python:

2、回到应用列表,点击你的应用名,进入应用管理页面:

3、找到左侧栏->服务管理->MySQL。页面出现,初始化mysql即可。


4、我们可以开始创建自己的第一个应用的第一个版本了:(依然是左侧栏)-应用管理-代码管理,点击“通过这里创建一个版本”,版本号为1,创建。创建成功就可以看到类似的信息:


接下来要做的就是使用SVN部署你的代码了。

部署

1、现在假定你已经将SVN安装妥当,如果对SVN不了解,点这里:http://sae.sina.com.cn/?m=devcenter&content_id=215&catId=212

注意!svn检出时的用户名是你的微博账号,但密码是安全密码

2、检出代码文件夹至本地,会看到以版本号命名的文件夹,此处应该是1。
进入文件夹1,可以找到config.yaml、index.wsgi这个两个文件,用文本编辑器打开index.wsgi,删除所有内容,用下面的代码替代。
#coding:utf-8

import sae
from pythondjangotest import wsgi                    #将pythondjangotest换成你的应用名

application = sae.create_wsgi_app(wsgi.application)  #SAE上的Python应用的入口为 index.wsgi:application 
3、如果你准备使用django提供的admin模块,需从django安装目录复制admin 的media目录到文件夹1内。

4、如果你已经建好了一个django项目,直接将文件夹(项目的文件夹名必须同SAE上建立的应用名相同)放到文件夹1下面。
如果尚未建立django项目,进入文件夹1,执行python django-admin.py startpreject mysite  命令(同样用SAE上建立的应用名代替mysite,下文不再提示)
到了这一步,无论如何都要确认,文件夹1下有你的django项目,即mysite文件夹。也就是确保文件夹1内可以看到:

index.wsgi 
config.yaml 
mysite(项目文件夹)

5、进入目录mysite,修改settings.py:
在开始添加
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
import os.path 
import sae.const
from os import environ
debug = not environ.get("APP_NAME", "") 
if debug:
#LOCAL 本地调试用,便于导出数据库,根据本地MYSQL数据库填写下面参数<----------------如果文件中出现中文,一定要在开始添加 #coding:utf-8
    MYSQL_DB = 'pythondjangotest'    
    MYSQL_USER = 'root' 
    MYSQL_PASS = '123456' 
    MYSQL_HOST_M = '127.0.0.1' 
    MYSQL_HOST_S = '127.0.0.1' 
    MYSQL_PORT = '3306' 
else: 
#SAE 
    import sae.const 
    MYSQL_DB = sae.const.MYSQL_DB 
    MYSQL_USER = sae.const.MYSQL_USER 
    MYSQL_PASS = sae.const.MYSQL_PASS 
    MYSQL_HOST_M = sae.const.MYSQL_HOST 
    MYSQL_HOST_S = sae.const.MYSQL_HOST_S 
    MYSQL_PORT = sae.const.MYSQL_PORT
修改DATABASES 字段为:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': MYSQL_DB, 
        'USER': MYSQL_USER, 
        'PASSWORD': MYSQL_PASS, 
        'HOST': MYSQL_HOST_M, 
        'PORT': MYSQL_PORT, 
    }
}
如果已经设置了自己的templates目录,在TEMPLATE_DIRS中添加字段




导入数据库

1、本地进行mysql操作需要MySQL-python模块,
win系统可以舒服放心地到这里下载安装文件:(for python2.7http://www.codegood.com/archives/129),
linux直接来这里:http://pypi.python.org/pypi/MySQL-python#downloads

2、如果本地已经安装有mysql服务,或者又可以连接的mysql数据库,可以直接看下一条。
如果你本地没有mysql数据库,可以安装WampServer:http://www.onlinedown.net/soft/82112.htm
并按照上一节settings.py本地数据库填写的信息创建数据库。

3、进入mysite目录执行 python manage.py syncdb,完成之后我们将本地数据库导出:
进入本地mysite数据库的管理页面,点击顶部的导出-执行,输出sql文件。
将导出的数据库导入SAE中所建应用的远程MYSQL数据库:
进入SAE的应用管理页面->服务管理->MySQL->管理MySQL,进入SAE的mysql管理页面。点击顶部的导入->选择文件(刚才输出的sql文件)->执行



配置Django1.7.3环境

1.在根目录下创建site-packages目录
2.将C:\Python34\Lib\site-packages\Django-1.7.2-py3.4.egg\django目录下的所有文件,复制到site-packages\django中
3.创建应用配置文件config.yaml,内容如下
name: pythondjangotest
version: 1

libraries:
- name: "django"
  version: "1.7.2"

handlers:
- url: /static
  static_dir: static

上传

把目录1内的所有文件都通过svn提交到sae上,mysite终于可以工作了!
上传前不要忘记把settings.py中的DEBUG = True改为DEBUG = False

测试

测试版本Django版本是否正确


友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • ModernUI课程:定义一个Logo

    ModernUI教程:定义一个Logo ModernWindow的标题栏包含了一块区域用来显示自定义的窗体Logo: 这个窗体logo通过ModernWindow.LogoD...

  • Django忘记管理员账号和密码的解决方法

    Django忘记管理员账号和密码的解决办法 看着Django的教程学习搭建网站,结果忘记第一次创建的账号和密码了。结果搭建成功以后,一直...

  • GO语言小结(1)——基本知识

    GO语言总结(1)——基本知识 1、注释(与C++一样)   行注释://  块注释:/*   ...  */ 2、标识符   可以这么说,除了数字开头...

  • golang 惯用的文件读取方式

    golang 常用的文件读取方式 Golang 的文件读取方法很多,刚上手时不知道怎么选择,所以贴在此处便后速查。 一次性读取 小文件推荐一...

  • 查询深圳市通相关信息

    查询深圳通相关信息 用 HTTP.GET 从开放 API 中查询深圳通信息,然后将 JSON 数据存入结构体中,再格式化输出。 注意:获取的并不是实...

  • Go语言设计模式实践:结合(Composite)

    Go语言设计模式实践:组合(Composite) 关于本系列 这个系列首先是关于Go语言实践的。在项目中实际使用Go语言也有段时间了,一个体会就...

  • 列出索引和遍历目录

    列出目录和遍历目录 获取目录列表用 ioutil.ReadDir(),遍历目录用 filepath.Walk(),使用方法请参考文章示例。 示例代码: package ma...

  • io 包的惯用接口速记

    io 包的常用接口速记 我没有 C/C++ 基础,没有接口的概念,且从 Python 投奔而来,Python 的极简主义(一个结果往往只提供一个方法),让我在...

  • 代理服务扩充

    代理服务扩展 之前自己实现了一个代理服务,当时考虑的是只要支持SOCKS5就好了,因为我经常用CHROME,配合着SwitchySharp,体验还是很棒...

  • 文件的创造与打开

    文件的创建与打开 文件操作是个很重要的话题,使用也非常频繁,熟悉如何操作文件是必不可少的。Golang 对文件的支持是在 os package ...

热门推荐: