CRUD com Python - #9 Deploy
16/01/2021Na aula de hoje iremos fazer o deploy da nossa aplicação utilizando o Python com Django e o banco de dados SQLite.
Para fazer o deploy você precisará de uma conta no Heroku.
Vamos precisar também de 03 softwares:
- Heroku Cli
- Git
- MySQL Workbench
Criamos uma aplicação no dashboard do Heroku.
Vamos seguir os comandos abaixo:
cd c:/Python
heroku login
pip install django_heroku
Vamos acessar o arquivo project/settings.py e incluir os códigos:
import django_heroku
django_heroku.settings(locals())
Voltando ao terminal:
pip freeze > requirements.txt
No arquivo requirements.txt vamos criar o requisito gunicorn:
asgiref==3.2.7
dj-database-url==0.5.0
Django==3.0.5
django-heroku==0.3.1
psycopg2==2.8.5
pytz==2019.3
sqlparse==0.3.1
whitenoise==5.0.1
gunicorn==20.0.4
Em seguida criaremos o arquivo Procfile (sem extensão)
web: gunicorn project.wsgi
No terminal:
git init
heroku git:remote -a webdesign-em-foco
git add .
git commit -m "Primeiro upload"
git push heroku master
Para enviar o banco de dados vamos criar o add-on cleardb dentro da página do Heroku. Posteriormente vamos ao link settings >> reveal configs var e pegaremos o código:
postgrees://393948949:9383939@us.host/heroku_dkkdid?
O código acima traz o tipo do banco://usuario:senha@host/nome_do_banco
Esses dados deverão ser substituidos em project/settings:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
Vamos enviar via git novamente.
pip freeze > requirements.txt
Adicionar novamente o gunicorn no requirements.txt
asgiref==3.2.7
dj-database-url==0.5.0
Django==3.0.5
django-heroku==0.3.1
mysqlclient==1.4.6
psycopg2==2.8.5
pytz==2019.3
sqlparse==0.3.1
whitenoise==5.0.1
gunicorn==20.0.4
Por hoje é só! Sucesso nos códigos e na vida!