Flask 在Heroku部署遇到的坑

继狗书Flask
web开发同章一章的拟,到了配置这同样节就觉得不等同了。书及之教程感觉并未那详细,有时候不知怎样入手。书及介绍以heroku上布置,配置数据库那个例子的下令已失效了。然后上加Procfile文件,书被只说补加斯文件,并且以Web:gunicorn
manage:app添加到内容被。但是,我弗理解保存为什么格式。最后经checkout17C来找到好文件,才清楚该怎么做。

后来卡得无比漫长之饶是deploy部署这里。我管持有东西还将好了,已经git
push了就差deploy。可是返回了sqlite的错误信息,说并未roles这个表。但自本地数据库是生此表存在的。我寻思会不会见是搬迁仓库的题目,由于事先安排活动迁移脚本出错,知识init了迁移仓库,没有migrate。我直接放正没理。在挑几不成后,终于掌握那时候是migrate失败是为自己就成立之数据库。数据仓库迁移的migrate命令必须以无创建数据库前提下用才会得逞。以后数据库来新模型可以通过
db upgrade来更新。
本人觉着我找到了问题关键所在,但连不曾。无论自身争创新,重新add .
重新commit最后deploy的当儿还是唤醒no such table:roles

新生自家简直创建了只新的app,结果deploy成功了。。。。
接下来页面可以成功开拓,本来觉得结束了。可是,新的题材还要来了。我发现无法提交新数据。狗书的课程是使而开一个接近于微博之网站。而以heroku上自的网站提交新微博,新评,资料修改都唤起成功,可是却从没亮action下新增的始末。我看是数据库的题材,然后promote了数据库为主数据库,没有其余改动。最后我反省代码终于掌握,这是狗书的一个坑。狗书中出于当config里的sql设置了teardowncommit被,所以任何地方有所代码都只有add没有commit。我加上commit而后可以发表新情节。这等同蹩脚审觉得终于成了!

而我要最好天真了。如今遇上一个初题材:每隔一段时间服务器即会见回档,我新增的情节跟用户会让所有去除,变扭原来上污染上的师。我问了人家,他们就是服务器运营商的题材。我怀念,是休是以我之所以之凡单出7M空间的免费数据库导致的?
吓了数据库的问题到底解决了。原因是本人压根没有采用远程服务器的数据库。参考这篇教程http://www.jianshu.com/p/7bc34e56fa39我所以pip安装了
psycopg2用来连接postgresql

Connecting in Python
To use PostgreSQL as your database in Python applications you will need to use thepsycopg2
package.
$ pip install psycopg2$ pip freeze > requirements.txt

And use this package to connect toDATABASE_URL
in your code:
import os
import psycopg2
import urlparse
urlparse.uses_netloc.append("postgres")url = urlparse.urlparse(os.environ["DATABASE_URL"])
conn = psycopg2.connect( database=url.path[1:]
,user=url.username, password=url.password, host=url.hostname, port=url.port)

面立段代码不是要让您勾勒上你的flasksqlite里,只是告诉你要设置是库房,然后要经环境变量获得DATABASE_URL

然后就段需以源代码中开展修改

from flask import Flaskfrom flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://localhost/[YOUR_DATABASE_NAME]'db = SQLAlchemy(app)

QQ截图20160926000051.png

成功了!

可是,还有一个题目本身无解决。在heroku上安排后,新用户注册就犯不了邮件确认了。这是干什么卡?我找找不交问题所在,所以取消了确认就同步!迟点再解决吧!

网站地图xml地图