设为首页 收藏本站
查看: 1373|回复: 0

[经验分享] 基于SAE的Python+Django的入门实践

[复制链接]

尚未签到

发表于 2015-4-19 07:18:15 | 显示全部楼层 |阅读模式
  新浪SAE已经开始了对python的支持,支持django框架。
  详情可以点这:http://appstack.sinaapp.com/
  豆瓣小组:http://www.douban.com/group/373262/
  下面进入正题。
  首先,我使用的是django + mysql组合,所以本文暂不涉及其他框架。
  其次,本人菜鸟,如有可以改进的地方,请不吝赐教,万分感激。
  
  
第一步 申请
  首先你要有个SAE账号,用新浪微博就可以注册。注册、登陆、然后直奔这里http://appstack.sinaapp.com/queue 去排队申请SAE Python。如果你已经拥有邀请码并可以添加python应用,请自觉忽略此段。排队,怎么查看是否开通?,等……
  好了,现在,你已经开通了SAE Python,你已经可以创建应用,并且可以创建Python应用。
  
第二步 创建
  1、来到你的SAE首页http://sae.sina.com.cn/?m=myapp,创建新应用,开发语言选择python:
DSC0000.png
  2、回到应用列表,点击你的应用名,进入应用管理页面:
DSC0001.png
  3、找到左侧栏->服务管理->MySQL:页面出现
DSC0002.png
  初始化mysql即可。
  4、类似的做法,你可以将服务管理里列出的的服务都开启。
  5、我们可以开始创建自己的第一个应用的第一个版本了:
  (依然是左侧栏)-应用管理-代码管理,点击“通过这里创建一个版本”,版本号为1,创建。
  创建成功就可以看到类似的信息:
DSC0003.png
  
  接下来要做的就是使用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,删除所有内容,用下面的代码替代。
  import os
import django.core.handlers.wsgi
  import sae
  os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' # mysite替换为你的应用名
  application = sae.create_wsgi_app(django.core.handlers.wsgi.WSGIHandler())
  注意!别忘了将os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' 这一行中的mysite替换为你刚刚在SAE上建立的应用名!
  并且,下文出现的所有mysite都要替换成你在SAE上的应用名!
  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:
  A、将下面的代码添加到头部
  import os.path      
  from os import environ
  debug = not environ.get("APP_NAME", "")      
if debug:
  #LOCAL 本地调试用,便于导出数据库,根据本地MYSQL数据库填写下面参数
  MYSQL_DB = 'mysite'      
    MYSQL_USER = 'root'      
    MYSQL_PASS = ''      
    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
  B、修改DATABASES 字段为:
  DATABASES = {      
    'default': {      
        'ENGINE': 'django.db.backends.mysql',      
        'NAME': MYSQL_DB,      
        'USER': MYSQL_USER,      
        'PASSWORD': MYSQL_PASS,      
        'HOST': MYSQL_HOST_M,      
        'PORT': MYSQL_PORT,      
    }      
}
  C、如果已经设置了自己的templates目录,在TEMPLATE_DIRS中添加字段
  '/usr/local/sae/python/lib/python2.7/site-packages/django/contrib/admin/templates/admin',如下:
  TEMPLATE_DIRS = (      
    '/usr/local/sae/python/lib/python2.7/site-packages/django/contrib/admin/templates/admin',      
    os.path.join(os.path.dirname(__file__), 'templates').replace('\\','/'),  # 已经将mysite目录下的tempalets目录设置为模板目录      
)
  
第四步 导入数据库
  1、本地进行mysql操作需要MySQL-python模块,
  win系统可以舒服放心地到这里下载安装文件:(for python2.6http://www.codegood.com/archives/4,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
  安装之后别忘了重启一下机器,双击桌面上的
DSC0004.png
  快捷方式,点击托盘上的小图标,点 起动所有服务,启动成功,图标变绿 DSC0005.png
  再次单击托盘图标,点phpMyAdmin,就从浏览器打开了数据库管理器。然后点击页面顶部的 “数据库”
DSC0006.png
  新建数据库
DSC0007.png
  创建完成后,左侧栏看到mysite已经被添加
DSC0008.png
  点击mysite就打开了本地mysite数据库的管理页面。
  3、修改mysite目录内的settings.py中的
  debug = not environ.get("APP_NAME", "")      
if debug:      
#LOCAL 本地调试用,便于导出数据库,根据本地MYSQL数据库填写下面参数      
MYSQL_DB = 'mysite'      
MYSQL_USER = 'root'      
MYSQL_PASS = ''      
MYSQL_HOST_M = '127.0.0.1'      
MYSQL_HOST_S = '127.0.0.1'      
MYSQL_PORT = '3306'
  如果是按照2、中的步骤,此段无需修改。
  如果你是使用已有数据库的人,应该很容易就能看出该怎么改。
  4、进入mysite目录执行 python manage.py syncdb,完成之后我们将本地数据库导出:
  进入本地mysite数据库的管理页面,点击顶部的导出-执行,输出sql文件。
  将导出的数据库导入SAE中所建应用的远程MYSQL数据库:
  进入SAE的应用管理页面->服务管理->MySQL->管理MySQL,进入SAE的mysql管理页面。点击顶部的导入->选择文件(刚才输出的sql文件)->执行
  
第五步 上传
把目录1内的所有文件都通过svn提交到sae上,mysite终于可以工作了!

我想你也不会忘了把settings.py中的DEBUG = True改为DEBUG = False吧



好吧,本文告一段落。

等深入学习之后再来丰富内容。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-58521-1-1.html 上篇帖子: raw_input() 与 input() __ Python 下篇帖子: 汤姆大叔送书, 咱也科学抢书之Python版
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表