1、所有的程序放在wsgi文件夹下,
application文件的写法:
#!/usr/bin/python
import os
import sys
sys.path.insert(0, os.path.dirname(__file__) or '.')
PY_DIR = os.path.join(os.environ['OPENSHIFT_HOMEDIR'], "python")
virtenv = PY_DIR + '/virtenv/'
PY_CACHE = os.path.join(virtenv, 'lib', '2.6', 'site-packages')
os.environ['PYTHON_EGG_CACHE'] = os.path.join(PY_CACHE)
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
execfile(virtualenv, dict(__file__=virtualenv))
except IOError:
pass
from run import app as application
run就是含有app.run()的一个文件
2、run文件里的app.run()不能运行,最好这样写:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from app import app
if __name__ == "__main__":
app.run(debug = True)
3、setup.py里面的name应该是:https://xxxxx.rhcloud.com,而不是控制台里面的实例名字。
4、flask-sqlalchemy连接数据库的url应该这样写:
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['OPENSHIFT_MYSQL_DB_URL'] + 'xxx'
xxx是自己创建的数据库。
如果使用openshift创建数据库时以创建的数据库,那么连接应该这样写:
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['OPENSHIFT_MYSQL_DB_URL'] + os.environ['OPENSHIFT_APP_NAME']
忙了一晚上,就折腾了这样一点,唉。。。。