Como conectar o Django (Python) ao Banco de Dados PostgreSQL

Cansado de programar?

Cansado(a) de quebrar a cabeça para aprender a programar Python de verdade?

Conheça a melhor e mais completa formação de Python e Django e sinta-se um programador verdadeiramente competente. Além de Python e Django, você também vai aprender Banco de Dados, SQL, HTML, CSS, Javascript, Bootstrap e muito mais!

Quero aprender Python e Django de Verdade! Quero aprender!
Suporte

Tire suas dúvidas diretamente com o professor

Suporte

Projetos práticos voltados para o mercado de trabalho

Suporte

Formação moderna com foco na prática profissional

Salve salve Pythonista :wave:

O Django é um framework de desenvolvimento web em Python que permite a criação de aplicações robustas e escaláveis.

Uma das principais tarefas ao construir uma aplicação Django é conectar o framework a um banco de dados para armazenar as informações da sua aplicação.

Neste artigo, vamos explorar como conectar o Django a um Banco de Dados Postgres, um sistema de gerenciamento de banco de dados relacional extremamente poderoso.

Vá Direto ao Assunto…

Mas primeiro...

Eu disponibilizei gratuitamente a aula introdutória do nosso Curso de Django - que é parte integrante do curso Jornada Python, aqui da Python Academy - e acho que você pode aprender bastante com ela!

Nesse vídeo você vai aprender sobre:

  • Desenvolvimento Frontend vs Backend
  • Arquitetura do Django
  • Por que aprender Django
  • O mercado para o Desenvolvedor Django
  • O salário do Dev Django trabalhando para fora
  • Quais empresas utilizam o Django

É só clicar na imagem abaixo para assistir o vídeo!

Mas primeiro… O que é o PostgreSQL?

Postgres

PostgreSQL é um popular Sistema de Gerenciamento de Banco de Dados (SGBD) de código aberto, conhecido por sua confiabilidade, escalabilidade e recursos avançados.

Ele suporta o modelo de banco de dados relacional, que é a base de muitas aplicações modernas.

O Postgres é amplamente utilizado em projetos de todos os tamanhos, desde pequenas startups até grandes empresas.

Executando o Postgres localmente com Docker

Antes de conectar o Django ao Postgres, precisamos ter uma instância local do Postgres em execução.

Uma maneira fácil de fazer isso é usando o Docker.

O Docker permite que você execute aplicativos em contêineres isolados, facilitando a configuração e o gerenciamento de bancos de dados e outras dependências.

Para executar o Postgres localmente com Docker, você precisará ter o Docker instalado em sua máquina.

Uma vez instalado, você pode usar o seguinte comando para iniciar uma instância do Postgres:

1
docker run -d -p 5432:5432 --name postgres-db -e POSTGRES_PASSWORD=minha_senha -e POSTGRES_USER=meu_usuario postgres

Altere minha_senha para uma senha de sua preferência e meu_usuario para um nome de usuário de sua preferência.

Isso iniciará um contêiner do Postgres na porta 5432 e definirá a senha e o usuário especificados nas variáveis de ambiente.

Configurando o Django para se conectar ao Postgres

Agora que temos uma instância do Postgres em execução, podemos configurar nosso projeto Django para se conectar a ela.

Abra o arquivo settings.py do seu projeto Django e localize o dicionário de configurações DATABASES.

Substitua o valor default pela seguinte configuração:

1
2
3
4
5
6
7
8
9
10
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'nome_do_banco',
        'USER': 'meu_usuario',
        'PASSWORD': 'minha_senha',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

Certifique-se de substituir nome_do_banco, meu_usuario e minha_senha pelos valores corretos para o seu banco de dados.

:wave: Ei, você aí! Quer se sentir realmente capaz ao desenvolver Aplicações Web com Django? Então clique no link abaixo e dê o próximo passo agora mesmo!

Jornada Django

A Jornada Django foi pensada em quem já sabe Python e quer dar o próximo passo. Aqui você vai dominar o Desenvolvimento Web com o poderoso Django.

Vinícius Ramos
Vinícius Ramos 🇺🇸 Senior Software Engineer 🇧🇷 Fundador
Conhecer detalhes
Check
Suporte a dúvidas
Check
Certificado de Conclusão
Check
Comunidade de Alunos
Check
Cursos gratuitos de HTML
Check
Cursos gratuitos de CSS
Check
Cursos gratuitos de Javascript

Além disso, é necessário instalar uma outra dependência para que o Django saiba conversar com o Banco de Dados.

Essa dependência é a psycopg2.

Contudo, instalar essa dependência não é algo trivial pois exige a compilação de diversas bibliotecas internas.

Pode ter certeza que o simples pip install psycopg2 não irá funcionar.

Para isso, existe uma alternativa muito útil que é a biblioteca psycopg2-binary que já vem com essas diversas bibliotecas internas já compiladas, o que facilita muito nossa vida.

Dessa forma, e com seu ambiente virtual ativado (saiba mais sobre ambientes virtuais e Virtualenv clicando aqui), instale-a com pip install psycopg2-binary.

Contudo, atente-se pois seu uso não é aconselhado em ambiente de Produção.

Portanto, use-o apenas em ambiente local e de desenvolvimento. Quando for instalar sua aplicação em Produção, compile as bibliotecas necessárias e utilize o psycopg2.

Definindo os Modelos da nossa aplicação

Agora que o Django está configurado para se conectar ao Postgres, podemos criar os modelos de dados que serão usados ​​em nossa aplicação.

Vamos criar um exemplo simples de uma aplicação de Blog.

Crie um novo arquivo chamado models.py dentro do diretório de sua aplicação e adicione o seguinte código:

1
2
3
4
5
6
from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=250)
    content = models.TextField()
    pub_date = models.DateTimeField(auto_now_add=True)

Neste exemplo, criamos um modelo chamado Post com três campos: title, content e pub_date.

O campo pub_date é configurado para ser preenchido automaticamente com a data e hora atuais sempre que um novo Post for criado.

Está curtindo esse conteúdo? :thumbsup:

Que tal receber 30 dias de conteúdo direto na sua Caixa de Entrada?

Sua assinatura não pôde ser validada.
Você fez sua assinatura com sucesso.

Assine a PyDicas e receba 30 dias do melhor conteúdo Python direto na sua Caixa de Entrada: direto e sem enrolação!

Executando as Migrações no Banco de Dados

Antes de podermos usar nosso modelo Post, precisamos aplicar as migrações ao banco de dados.

As migrações são um recurso do Django que permite controlar e gerenciar as alterações no esquema do banco de dados ao longo do tempo.

Para executar as migrações, use o seguinte comando:

1
2
python manage.py makemigrations
python manage.py migrate

Isso criará as tabelas necessárias no banco de dados e deixará tudo pronto para começarmos a usar os modelos em nossa aplicação.

Conclusão

Conectar o Django a um Banco de Dados Postgres é uma tarefa essencial ao desenvolver aplicações web com o framework.

Neste artigo, exploramos como executar o Postgres localmente com Docker e como configurar o Django para se conectar a ele.

Também foi mostrado como criar e usar modelos de dados com o Django.

Agora, você está pronto para construir aplicações robustas e escaláveis utilizando o Django e o poderoso banco de dados Postgres.

Quer levar esse conteúdo para onde for com nosso ebook GRÁTIS de Desenvolvimento Web com Python e Django?

Então aproveita essa chance :point_down: :point_down: :point_down:

Ebook GRÁTIS

DESENVOLVIMENTO WEB COM PYTHON E DJANGO

Capa Ebook Desenvolvimento Web com Python e Django

Conteúdo:

  • :point_right: Veja como modelar sua aplicação
  • :point_right: Utilize a robusta API de Acesso a Dados do Django
  • :point_right: Aprenda sobre Class Based Views
  • :point_right: Construa Middlewares próprios
  • :point_right: Desenvolva filtros e tags customizados para criar lindos templates
Baixe já!

Nos vemos na próxima! :wave:

#newsletter Olá :wave: Curtiu o artigo? Então faça parte da nossa Newsletter! Privacidade Não se preocupe, respeitamos sua privacidade. Você pode se descadastrar a qualquer momento.