Voltar ao blog

Usando PostgreSQL com Django no Ubuntu 21.04 Server

Usando PostgreSQL com Django no Ubuntu 21.04 Server

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.

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:

Using PostgreSQL with Django 1

Em seguida, instale os pacotes:

Using PostgreSQL with Django 2

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:

Você deve entrar em uma nova sessão de shell sob o usuário postgres. Em seguida, abra um shell do PostgreSQL:

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:

Em seguida, criaremos um usuário de banco de dados dedicado. Usaremos esse usuário para acessar o banco de dados dedicado ao Django:

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:

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:

Using PostgreSQL with Django 4

Finalmente, conceda ao novo usuário permissão total no banco de dados dedicado ao Django:

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:

Using PostgreSQL with Django 5

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:

Altere o diretório ativo atual e estabeleça o ambiente virtual:

Depois disso, ative o ambiente virtual:

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):

Using PostgreSQL with Django 6

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:

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:

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:

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:


Using PostgreSQL with Django 7

Em seguida, crie um superusuário para o nosso aplicativo Django:

Using PostgreSQL with Django 8

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:

Acesse a URL em um navegador:

Using PostgreSQL with Django 9

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:

Using PostgreSQL with Django 10

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:

Boa computação!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev é um designer criativo na CloudSigma, focado na construção de uma identidade empresarial consistente por meio de canais de marketing tradicionais e inovadores. Ele é hábil em combinar a visão artística com o marketing estratégico para criar narrativas de marca impactantes.

Comentários

Nenhum comentário ainda. Seja o primeiro.