Django项目部署到Heroku上
以下有些步骤中会访问外网,可能需要FQ,需要提前设置好
1.到HeroKu官网注册一个账号,邮箱使用gmail等外国邮箱, heroku官网:https://www.heroku.com/
2.本地需要安装git
3.下载安装HeroKu CLI(自己根据不同电脑环境下载对应版本),这个就相当于一个客户端
下载地址:https://devcenter.heroku.com/articles/heroku-cli
4.安装必要的几个第三方库
以下命令皆是在虚拟环境命令行
pip install dj-database-url #帮助django与Heroku使用的数据库进行通信
pip install dj-static #帮助Django正确的管理静态文件
pip install static3 #与dj-static相同
pip install gunicorn #在在线环境中支持应用程序提供的服务
pip install django-heroku
5.使用该命令生成requirements.txt文件
pip freeze > requirements.txt
文件内容如下
dj-database-url==0.5.0
dj-static==0.0.6
Django==1.11
django-heroku==0.3.1 #安装这个自带psycopg2和whitenoise
gunicorn==20.0.4
psycopg2==2.8.4
PyMySQL==0.9.3 #这里django使用mysql数据库
pytz==2019.3
static3==0.7.0
whitenoise==5.0.1
6.指定python版本:项目根目录下创建runtime.txt
python-3.6.4 #设置自己的python版本,如果提交代码到heroku的时候因为版本报错,你就改一个python版本再提交
#官网指定Python版本: https://devcenter.heroku.com/articles/python-support#supported-runtimes
7.在项目根路径下创建Procfile 注意该文件没有后缀
Procfile告诉Heroku启动哪些进程,无扩展名,保存到项目根目录下。
web: gunicorn learning.wsgi --log-file - #中间的learning.wsgi需要替换成项目名.wsgi
8.创建Heroku应用
heroku create 应用名
这是创建的应用名已经存在,重新更换个应用名就行
这是创建好的Heroku应用,包含部署好的网站地址
使用网址访问创建的网站,你也可以在命令行输入 heroku open 会自动打开网站
登录Heroku官网也可以看到新创建的应用
9.修改settings.py文件
#添加如下代码
import django_heroku
django_heroku.settings(locals())
#设置静态路径STATIC_ROOT
STATIC_ROOT = os.path.join(BASE_DIR,'staticfiles')
#修改ALLOWED_HOSTS
ALLOWED_HOSTS=['wangcccomments.herokuapp.com'] #wangcccomments是之前新建的应用名
10.设置好这些就把代码提交到git,然后部署到heroku上
#先进入项目目录
git init
git add .
git commit -m '提交信息'
git push -u origin master #这步是把本地文件提交到github上,如果不需要提交到github这步就不要写
git push heroku master #把本地文件部署到heroku上
#如果本地文件修改就需要重新执行所有步骤
git add -A #只提交修改的文件
git commit -m '提交信息'
git push heroku master
在把项目提交到heroku上时报错,python的版本不对
重新修改python的版本python3.6.10 ,提交上去自动下载需要的模块 (这里我也不太清楚是修改了runtime.txt文件内容的格式原因,还是修改python版本的原因,自己试一下)
11.使用heroku open打开网站,输入正确地址,报错,是因为数据库还没有安装
12.安装数据库
heroku默认支持Postgres数据库,如果你本地计算机没有Postgres数据库,你需要下载安装。然后在Heroku上也安装Postgres数据库
你可以先检查Heroku是否已经安装了Postgres数据库
heroku addons
如果没有安装数据库,就手动安装
heroku addons:create heroku-postgresql:hobby-dev #设置hobby-dev是免费的版本
在这个项目中我想使用Mysql数据库,所以手动安装mysql数据库,在官网找mysql的插件
官网:https://elements.heroku.com/addons
点击此按钮
输入以下内容,这里安装插件需要进行信用卡验证,因为是国外的信用卡,我没有,所以下面的步骤就没进行了
13.创建表
如果你是使用postgres数据库,heroku默认支持
只需要在settings.py中设置
import dj_database_url
DATABASES['default'] = dj_database_url.config()
然后创建表
heroku run python manage.py makemigrations
heroku run python manage.py migrate
Heroku部署Django项目youtube视频(需要FQ): https://www.youtube.com/watch?v=6DI_7Zja8Zc
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架