Django é um framework web bem conhecido que simplifica o processo de criação de aplicativos web robustos, escaláveis, seguros e de alto desempenho. É um projeto de código aberto escrito em Python. Você pode conferir mais informações detalhadas sobre o Django aqui.
Qualquer aplicativo web requer um banco de dados como backend para gerenciar dados. O Django suporta vários mecanismos de banco de dados como backend, por exemplo, MySQL, PostgreSQL, SQLite etc. O PostgreSQL é um sistema de banco de dados objeto-relacional poderoso e de código aberto. Ele é famoso por sua confiabilidade, escalabilidade, segurança e conjunto robusto de recursos. Você pode aprender mais sobre o PostgreSQL aqui.
Neste guia, vamos demonstrar a integração do PostgreSQL como backend em um aplicativo Django de exemplo.
Pré-requisitos
Trabalhar com o Django requer certas configurações de sistema.
- Um servidor Ubuntu 21.04 configurado corretamente. Saiba mais sobre configurar um servidor Ubuntu.
- Um ambiente de desenvolvimento Python. O Django é escrito em Python, portanto, requer o ambiente Python para ser executado.
- PostgreSQL instalado, pois vamos usá-lo como servidor de banco de dados para o nosso aplicativo Django. Saiba mais sobre instalar e configurar o PostgreSQL no Ubuntu aqui.
Este guia também demonstrará como usar vários módulos e bibliotecas Python que são necessários para um aplicativo Django funcional.
Passo 1. Instalando os Componentes Necessários
Para que o nosso projeto funcione, precisamos de vários pacotes importantes instalados em nosso sistema Ubuntu. Felizmente, todos eles estão disponíveis diretamente nos repositórios oficiais de pacotes do Ubuntu. Esses pacotes incluem componentes Python e componentes de banco de dados (PostgreSQL).
Primeiro, abra o terminal e atualize o cache de pacotes do APT:
|
1 |
sudo apt update |
Em seguida, instale os pacotes:
|
1 |
sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib |
Passo 2. Preparando o Banco de Dados
O PostgreSQL agora está instalado e pronto para uso. Em seguida, vamos criar um banco de dados dedicado e um usuário para o nosso aplicativo Django. Ter um usuário dedicado é benéfico para o gerenciamento de banco de dados e permissões.
Durante la instalação, o PostgreSQL cria um usuário dedicado postgres. Ele possui a permissão para realizar qualquer tarefa administrativa no PostgreSQL. Acesse a postgres conta:
|
1 |
sudo su – postgres |
Você deve entrar em uma nova sessão de shell sob o usuário postgres. Em seguida, abra um shell do PostgreSQL:
|
1 |
psql |
Agora vamos criar um banco de dados dedicado para o nosso aplicativo Django. É recomendável dar a ele um nome correspondente ao do aplicativo Django:
|
1 |
CREATE DATABASE <database_name>; |
Em seguida, criaremos um usuário de banco de dados dedicado. Usaremos esse usuário para acessar o banco de dados dedicado ao Django:
|
1 |
CREATE USER <username> WITH PASSWORD '<password>'; |
O próximo passo é ajustar alguns parâmetros de conexão para o novo usuário. Isso ajuda a acelerar as operações do banco de dados, pois não exigirá a consulta dos valores toda vez que uma conexão for estabelecida. Execute os seguintes comandos:
|
1 2 3 |
ALTER ROLE <username> SET client_encoding TO 'utf8'; ALTER ROLE <username> SET default_transaction_isolation TO 'read committed'; ALTER ROLE <username> SET timezone TO '<timezone>'; |
Vamos fazer uma rápida análise desses comandos:
-
Estamos definindo a codificação padrão para UTF-8. É o que o Django espera ao interagir com bancos de dados.
-
O esquema de transação padrão é definido como “read committed”, para que as leituras de transações não confirmadas sejam bloqueadas.
-
O fuso horário deve ser definido de acordo com a localização.
Se você não tiver certeza sobre o nome do fuso horário, o seguinte comando listará todos os fusos horários suportados pelo PostgreSQL:
|
1 |
SELECT * FROM pg_timezone_names; |
Finalmente, conceda ao novo usuário permissão total no banco de dados dedicado ao Django:
|
1 |
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>; |
Nosso trabalho com o PostgreSQL está concluído. Saia do psql shell e encerre a sessão postgres .
Passo 3. Instalando o Django
Configuramos o servidor de banco de dados necessário para o nosso aplicativo Django. Agora, vamos instalar e configurar o aplicativo Django dedicado. Embora o Django esteja diretamente disponível no repositório oficial do Ubuntu, não recomendamos o uso deste método. Ele instalará o Django em todo o sistema. Para melhor flexibilidade e facilidade de gerenciamento, instalaremos o Django em um ambiente virtual. É uma prática padrão instalar e configurar o Django dentro de um ambiente virtual Python.
O Python possui um módulo virtualenv que cria um ambiente virtual Python em um local de destino. O ambiente obtém sua cópia dos binários e configurações do Python. Fazer alterações dentro do ambiente virtual não terá impacto no restante do sistema.
Instale o virtualenv:
|
1 |
sudo apt install virtualenv |
A seguir, nosso objetivo é ter um diretório dedicado para estabelecer o ambiente virtual Python. Ele servirá como base para o nosso aplicativo Django. Para demonstração, o nome do nosso aplicativo será sample_app. Crie um novo diretório:
|
1 |
mkdir -pv <dir_name> |
Altere o diretório ativo atual e estabeleça o ambiente virtual:
|
1 2 |
cd sample_app/ virtualenv sample_app_env |
Depois disso, ative o ambiente virtual:
|
1 |
source sample_app_env/bin/activate |
O ambiente virtual agora está pronto e funcional. Em seguida, usaremos o pip para instalar o Django e o psycopg2 (um adaptador Python para PostgreSQL):
|
1 |
pip install django psycopg2 |
Finalmente, podemos criar um novo projeto Django usando as ferramentas do Django. Isso gerará um subdiretório com o mesmo nome que hospedará todos os códigos e um script de gerenciamento no diretório atual:
|
1 |
django-admin startproject <project_name> . |
Passo 4. Configurando o Projeto Django
O projeto Django possui todas as ferramentas básicas para funcionar como um aplicativo web. Para integrá-lo ao nosso banco de dados, precisaremos fazer alguns ajustes em seus arquivos de configuração.
Abra o arquivo settings.py em um editor de texto:
|
1 |
nano settings.py |
Role para baixo até a seção DATABASES. Por padrão, ela está configurada para usar o SQLite:
Para o nosso propósito, altere o código da seguinte forma:
|
1 2 3 4 5 6 7 8 9 10 |
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': '<db_name>', 'USER': '<db_user>', 'PASSWORD': '<db_user_password>', 'HOST': 'localhost', 'PORT': '', } } |
Aqui, dizemos ao Django para usar o adaptador psycopg2 para a comunicação com o banco de dados. Também declaramos todas as informações necessárias do banco de dados, como o nome do banco de dados, juntamente com o nome de usuário e a senha do usuário dedicado.
Depois de terminar, salve o arquivo e feche o editor.
Passo 5. Migrando o Banco de Dados
O Django está configurado para acessar nosso banco de dados PostgreSQL. Agora podemos migrar a estrutura de dados para o nosso banco de dados. No Django, isso é conhecido como migração.
Para migrar as alterações do banco de dados, invoque o script de gerenciamento manage.py:
|
1 |
python manage.py makemigrations |

|
1 |
python manage.py migrate |
Em seguida, crie um superusuário para o nosso aplicativo Django:
|
1 |
python manage.py createsuperuser |
Esta conta de superusuário funcionará como a conta de administrador do nosso aplicativo Django.
Passo 6. Testando as Alterações
Até agora, fizemos vários ajustes no nosso aplicativo Django. É hora de verificar se tudo está funcionando como esperado. Vamos verificar isso iniciando o aplicativo e acessando o painel de administração.
Como estamos desenvolvendo o aplicativo Django localmente, iniciaremos o servidor em localhost. Por tradição, vamos iniciá-lo na porta 8000. Se você tiver um firewall configurado, ele precisará permitir o tráfego para a porta 8000. Saiba mais sobre os conceitos básicos do UFW aqui.
Inicie o servidor Django:
|
1 |
python manage.py runserver localhost:8000 |
Acesse a URL em um navegador:
|
1 |
http://localhost:8000 |
Você deve cair na página de sucesso de instalação do Django. Para acessar a página de administração do Django, acesse a seguinte URL:
|
1 |
http://localhost:8000/admin |
Você precisa usar o superusuário que criamos para fazer login:
Voilà! Entramos com sucesso no painel de administração!
Assim que terminar de explorar, pressione Ctrl + C no console para parar o servidor Django.
Considerações Finais
Neste guia, demonstramos com sucesso a criação de um aplicativo Django de exemplo e a configuração do PostgreSQL como seu backend. Embora o SQLite seja geralmente mais do que suficiente para atender às necessidades durante o desenvolvimento (e uso leve em produção), a maioria dos projetos se beneficiará muito ao mudar para um SGBD com mais recursos. O PostgreSQL é uma excelente opção para desempenho e escalabilidade.
O Django é um framework web versátil que pode funcionar com inúmeras tecnologias. Dê uma olhada em mais guias de nuvem que demonstram o uso do Django:
- Configurando o Django com PostgreSQL, Nginx, e Gunicorn no Ubuntu 20.04
- Construindo uma Aplicação Django e Gunicorn com Docker no Ubuntu
- Como Proteger e Escalar uma Aplicação Django com Docker, Nginx e Let’s Encrypt
- Criando um Aplicativo Django com Conexão de Banco de Dados: Um Tutorial
Boa computação!






















Comentários
Nenhum comentário ainda. Seja o primeiro.