QQ客服热线
首页 > 信息资讯 > 技术专栏

技术专栏

如何在SAE上部署Mezzanine
2014年4月16日
摘要: 新浪云SAE的出现是个好消息,更好的是支持Python,支持Django,而在Django上开发的Mezzanine CMS更是一流作品。那么如何往SAE上迁移Mezzanine 呢?

新浪云SAE的出现是个好消息,更好的是支持Python,支持Django,而在Django上开发的Mezzanine CMS更是一流作品。那么如何往SAE上迁移Mezzanine 呢?

本地安装Mezzanine 这边省略。详细见官网http://mezzanine.jupo.org/

以上省略django和Mezzanine项目安装创建的过程
一下配置是django1.5 Mezzanine3.09的版本。
不同的版本依赖包有所不同。以下是操作步骤;
 
1、复制依赖包到项目文件:包从你的python目录里 \Python27\Lib\site-packages 上找。
bleach
filebrowser_safe
future
grappelli_safe
html5lib
mezzanine
oauthlib
requests
requests_oauthlib
tzlocal
six.py
 
2、获取静态文件python manage.py collectstatic
3、添加config.yaml
name: zebra
version: 1
 
libraries:
- name: "django"
  version: "1.5"
  
 
4、添加index.wsgi
import os  
import django.core.handlers.wsgi  
  
import sae  
  
os.environ['DJANGO_SETTINGS_MODULE'] = 'zebra.settings'  
  
application = sae.create_wsgi_app(django.core.handlers.wsgi.WSGIHandler())  
 
5、修改settings.py 
添加几个设置
SECRET_KEY = "XX"
NEVERCACHE_KEY = "XX"
GRAPPELLI_INSTALLED=True
TESTING=False
 
xx为你创建项目生成的key
 
修改数据库信息
#############
# DATABASES #
#############
import sae.core
app = sae.core.Application()
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': app.mysql_db,
        'USER': app.mysql_user, 
        'PASSWORD': app.mysql_pass,
        'HOST': app.mysql_host,
        'PORT': app.mysql_port,
    }
}
 
最后面 添加 
import os,sys  
project_path = os.path.dirname(os.path.abspath(__file__))  
sys.path.insert(0, project_path)  
不然模块无法访问。
 
6、请确保sae上的数据库已经启用,且通过脚本导入你本地的数据
7、确保你的目录结构为:
zebra
--1
-----zebra
-----config.yaml
-----index.wsgi
-----static
 
zebra是我项目名称,项目下的目录结构为:
 
这边可能css无法载入的问题,本来在项目下的static提到1目录下。
 
8、上传到你的SAE上的运用。SAE上传的方式和版本管理请查阅官方文档http://sae.sina.com.cn/doc/
9、总结:先上传上去,不要拍错误,缺少什么你就加上什么。
 
花了一晚上终于完成Mezzanine的sae迁移,可以打开,结果还是有个未知错误,泪奔啊!
地址:http://zebra.sinaapp.com/
 
 
 
 

来自TCNET 转载请保留www.nbtcnet.com

返回列表