Heroku对django的支持还是不错的,虽然没有pythonanywhere那样简单地给个shell随便折腾,关键功能也是没少。
主要参考:
官方文档 Getting Started with Django on Heroku
How to deploy django app to heroku?
注册登陆啥的就不说了,要注意的几个地方,一是不能用163邮箱,原因我也不太清楚,二是使用Heroku和git脱不了关系,我个人觉得这里的邮箱最好是也和git绑定了。
先开始看的是getting started with python不是django,不过它给的例子就是一个django project,先来看看这个例子好了。
麻烦玩意儿= =为啥openshift和这个都要安装个啥才能传输,顿觉pythonanywhere方便死了。
安装的时候如果电脑上已经有了git就不用选full install了,选custom install然后把git和ssh取消掉。
还有个坑,文档里面写在cmd里面使用heroku login,但是并没有卵用,看了一个博客才知道要用git bash打开。。。
走了一遍文档流程弄了一个sample app,这里的创建app都是用过heroku指令完成的,差不多是把一个本地文件和app通过某种方式连接起来然后同步代码。大概流程是这样
文档里面有些指令不是必须的,比如本地的虚拟环境等等,实际上这个部署过程的关键就在于和远端代码库的链接,我这里的情况是我有一个现成的本地app,要把它挂上去,在网站上我已经创建好了一个app,现在要把这两个链接起来。
步骤说的很清晰,不过还有一些细节,在这个app的文件夹需要一些配置文件。
注意到之前例子的文件夹里面有一些配置文件
web: gunicorn Sample_Project.wsgi --log-file -
具体什么意思不太清楚,不过要把Sample-Project改成自己的app文件夹名,具体就是装着wsgi.py这个文件的文件夹名字。
web: python manage.py runserver 0.0.0.0:5000
指令倒是看得懂但还是不明白起的什么作用
dj-database-url==0.3.0
Django==1.8.1
django-postgrespool==0.3.0
gunicorn==19.3.0
psycopg2==2.6
SQLAlchemy==1.0.4
whitenoise==1.0.6
projects需要安装的套件,在自己的projects里面按照需要修改就行。
python-2.7.9
python版本,额也是直接复制过来。
需要给本地仓库添加一个远程链接到Heroku的app仓库,不想和之前的弄混所以复制了一下文件夹,改了个名字,把.git文件夹删了。
然后根据上面的流程操作完毕,访问。
看得出来可以访问了,不过数据库没有同步过去。。访问页面都是数据库找不到的问题,于是又去百度数据库处理。
我的app文件夹有一个sqlite3的db文件,不过完全木有用…在Heroku应该是有一些别的方式使用数据库,需要几个步骤。
import dj_database_url
DATABASES[‘default‘] = dj_database_url.config()
在数据库配置的部分后面加上。
然后依然是在git bash里面操作,代码更新完之后运行:
heroku run python manage.py makemigrations
heroku run python manage.py migrate
这下就没问题了。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/zhu_free/article/details/47169245