您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页Flask博客系统部署到Heroku

Flask博客系统部署到Heroku

来源:二三娱乐

部署后的最终效果

Github代码链接

部署的坑

  • 1.Flask Web开发(基于Python的Web开发实战)这本书在部署这一节讲的不是很详细,在部署的时候遇到很多坑,下面说明下我遇到的坑。

  • 2.首先要求你去heroku官网注册一个账号,因为heroku是国外网站,注册的时候没有翻墙的话就会碰到please confirm you are not a robot 这个警告。这个警告是提示验证码,没有翻墙的话根本看不到验证码,简单的办法就是下载个蓝灯,打开蓝灯就能看到验证码这一栏。

  • 3.注册的时候不能使用国内的邮箱注册(反正163和qq邮箱我都试过不行),那就用gmail注册。

  • 4.注册成功后,进入该目录,使用heroku login命令登陆,要确保这个目录是个git仓库目录,不然后面就无法git push了。如果不是git目录的话,安装git执行以下命令:

    • git init
    • git add *
    • git commit -m "v1.0"
  • 5.配置数据库的时候书上使用的命令是heroku addons:add heroku-postgresql:dev,实际上是不行的,dev需要改成hobby-dev,正确的命令为heroku addons:add heroku-postgresql:hobby-dev。而且创建完的数据库是没有颜色的,可能是heroku升级的原因吧,第一次创建的数据库已经是DATABASE_URL,不需要提升为主数据库(因为它已经是主数据库了),后面再创建数据库可以使用heroku pg:promote xxx提升为主数据库。

  • 6.在配置电子邮件的过程中,有个大坑。第一次部署成功的时候,我发现邮件根本发不出来,以前我在本地用163邮箱测试都是可以的。在heroku上是不能使用163邮箱的,后来在本地我改成gmail试了下,结果本地测试都行不通,而且gamil在国内开启smtp服务发邮件确实行不通。试了好几个邮箱终于发现qq邮箱是可以的,部署上去后就是发送邮件有些延迟,至少功能是可以的。

  • 7.Procfile这个文件一定要添加,添加web: gunicorn manage:app。书上说在本地用Gunicorn可以测试heroku的配置,可是我发现用heroku set:config输入的坏境变量在本地根本没有啊。所以我一直使用python manager.py runserver在本地测试的,在本地导入坏境变量。至少我觉得在heroku上配置的坏境变量本地不能用。

  • 8.书上还提到了用Foreman进行测试,这部我没有做。最终使用git push heroku master的过程中会解析你的requirements.txt文件,会虚拟坏境导入所有模块,并解析Procfile文件。然后部署heroku run python manager.py deploy,如果这步成功的话就大功告成了。但是这一步我卡了很久,最后我把数据库迁移的migration文件夹删了重新用命令生成,再次上传部署就成功了。

  • 9.本来我以为部是个很简单的事情,只要打打命令就可以了,真的是too young too simple。对了,还有人遇到部署后,在网页上操作的数据之后就不见了,感觉数据库中的数据被删除了,这个bug暂时我还没碰到。

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务