Voltar ao blog

Criando um App Django com Conexão de Banco de Dados: Um Tutorial

Criando um App Django com Conexão de Banco de Dados: Um Tutorial

Django é um framework web livre e de código aberto construído em Python. Publicado pela primeira vez em 2005, o Django incorpora o lema de “desenvolvimento rápido e design limpo e pragmático”. O framework, implantado em um servidor web, pode produzir rapidamente um front-end web com recursos avançados, segurança e escalabilidade.

Qualquer aplicativo web depende de bancos de dados para seu conteúdo. O Django, sendo um framework moderno, suporta vários programas de banco de dados padrão, por exemplo, PostgreSQL, SQLite, MySQL, etc. Este guia mostrará como conectar um aplicativo Django a um banco de dados no MySQL.

Pré-requisitos

Para seguir este tutorial, você precisa atender a certas pré-condições antes de passar para o Django e a conexão com o banco de dados:

Instalando e Configurando o Python 3

O Django é escrito em Python. A execução de qualquer aplicativo Python requer que os binários do Python estejam instalados no sistema. O Ubuntu vem com o Python instalado por padrão. Aqui, usaremos o Python 3. No terminal, execute os seguintes comandos. Primeiro, atualize o cache do APT e atualize (se disponível) todos os pacotes instalados:

O Python 3 está diretamente disponível nos servidores de pacotes oficiais do Ubuntu. O pacote python-is-python3  cria um link simbólico binário python para python3 para facilitar o uso:

Em seguida, verifique se a instalação foi bem-sucedida:

Depois disso, precisamos do pip. É o gerenciador de pacotes padrão do Python. Ele é responsável por gerenciar bibliotecas Python adicionais que não fazem parte da biblioteca padrão. Observe que estamos instalando o pip3 (para Python 3):

Por fim, precisamos de alguns pacotes adicionais para um ambiente de programação robusto:

Instalando e Configurando o MySQL

Esta seção demonstrará brevemente a instalação e configuração do MySQL. Ele está disponível nos repositórios de pacotes padrão do Ubuntu:

Se a instalação for bem-sucedida, o MySQL começará a rodar em segundo plano. Verifique se está funcionando corretamente:

Django App 1

O servidor MySQL está ativo e em execução. Agora podemos fazer a transição com segurança para o desenvolvimento do nosso aplicativo Django.

Trabalhando com o Django

  • Estabelecendo o aplicativo Django de exemplo

A base do nosso aplicativo web requer o esqueleto do projeto Django. Ele contém todas as ferramentas e bibliotecas necessárias para criar um aplicativo web robusto. Primeiro, criaremos um diretório dedicado para o nosso aplicativo Django. Recomenda-se nomear o diretório com algo significativo e consistente com o aplicativo que estamos prestes a construir. Nesta demonstração, nós o nomearemos como myDemoApp:

Precisamos do módulo venv do Python para criar um ambiente virtual dentro do diretório. Instale o módulo usando o APT:

Em seguida, navegue até o diretório e estabeleça um ambiente virtual. Para maior clareza, nomeamos o ambiente como demoapp_env:

Em seguida, ative o ambiente virtual executando o activate script:

Django App 2

Agora instalaremos o Django dentro deste ambiente virtual dedicado. Pip baixará e instalará alguns componentes adicionais:

O Django está instalado e pronto para ser usado. Chame o comando django-admin para criar um novo projeto Django. Depois disso, dê ao aplicativo um nome apropriado:

Isso criará um projeto de demonstração com os arquivos e diretórios de projeto necessários no lugar:

Django App 3

O esqueleto do projeto está pronto. Em seguida, precisamos configurá-lo adequadamente para atingir nosso objetivo.

  • Editando as configurações do projeto Django

Todas as configurações do projeto são armazenadas no arquivo settings.py. Ele está localizado dentro do diretório do projeto Django. Começaremos definindo um fuso horário adequado e listando os hosts que podem se conectar ao aplicativo Django. Abra o arquivo de configuração em um editor de texto:

Role o script para baixo e encontre a entrada TIME_ZONE. Para demonstração, o fuso horário está definido como America/New_York:

TIME_ZONE

Para referência, o seguinte comando imprimirá todos os fusos horários suportados no Linux:

Em seguida, role até a entrada ALLOWED_HOSTS. Ela controla qual(is) máquina(s) pode(m) acessar o aplicativo. Para demonstração, ela contém apenas o localhost:

Django App 4Em seguida, salve o arquivo e feche o editor. O próximo comando aplicará as alterações:

python manageAgora, precisamos criar uma conta de administrador para o aplicativo web. Essa conta será usada para acessar a interface de administração do Django. Execute o seguinte comando:

Django App 5Será solicitado o nome de usuário, e-mail e senha. O aplicativo agora está pronto para se conectar ao banco de dados.

Conexão MySQL

  • Instalando conectores MySQL e bibliotecas de desenvolvimento

Para integrar o MySQL ao aplicativo Django, precisamos de algumas bibliotecas adicionais do Python 3 que fornecerão as ferramentas necessárias. Usaremos o conector de banco de dados mysqlclient. Ele é um fork do MySQLdb.

Certifique-se de que temos o python3-dev instalado:

Também precisamos de alguns cabeçalhos e bibliotecas adicionais do Python e do MySQL:

Após a conclusão da instalação, use o pip para instalar o módulo Python mysqlclient. Ele pode gerar algumas mensagens de erro que podem ser ignoradas:

  • Configurando um banco de dados dedicado

O próximo passo é configurar um banco de dados dedicado e um usuário de banco de dados para o nosso aplicativo Django. Inicie o shell do MySQL como o usuário root:

Para verificar todos os bancos de dados disponíveis no momento, execute a seguinte consulta:

Vamos criar um banco de dados dedicado para o nosso aplicativo Django. Dê a ele um nome apropriado que seja consistente com o nome do projeto:

Em seguida, verifique a criação:

Django App 6Agora, crie um usuário MySQL dedicado. Configuraremos este usuário como o proprietário do banco de dados. O aplicativo Django usará as credenciais deste usuário para trabalhar com o banco de dados MySQL:

Dê ao usuário demoapp_user permissão total sobre o banco de dados demoapp_data:

Para que as alterações de permissão entrem em vigor, recarregue as tabelas de privilégios do MySQL:

Django App 7O banco de dados agora está pronto para ser conectado ao aplicativo Django.

  • Conectando o banco de dados ao aplicativo Django

Finalmente, configuraremos o aplicativo Django para usar o banco de dados para armazenamento de dados. Abra o script de configuração settings.py:

Role para baixo até a entrada DATABASES e insira o seguinte código:

Django App 8Salve o arquivo e feche o editor. O próximo passo é definir o arquivo de configuração descrito no código anterior. Use sudo para abrir o arquivo de texto no local descrito:

Este arquivo de configuração conterá informações sobre o banco de dados dedicado ao Django e o usuário que criamos no servidor MySQL. Adicione as seguintes linhas no final do arquivo:

default-character-setPara que as alterações entrem em vigor, temos que reiniciar o servidor MySQL:

  • Testando a conexão com o MySQL

Agora é hora de verificar se a conexão com o MySQL está funcionando corretamente. Se o servidor Django rodar sem problemas, então a conexão está funcionando bem. Caso contrário, há algo errado. Primeiro, aplique todas as alterações feitas no projeto Django:

python manageAgora, vá para o seguinte diretório do projeto e inicie o servidor Django:

python manage.py runserverEm seguida, tente acessar o servidor a partir de um navegador web:

server_ip_address

Voilá! Chegamos com sucesso à página de sucesso do Django. Isso também verifica que a conexão com o MySQL está funcionando corretamente. Após a conclusão da tarefa, você pode sair do ambiente virtual com segurança:

Considerações Finais

Neste guia, você aprendeu o básico sobre como combinar o Django e o MySQL. Criamos um aplicativo Django e mostramos como conectá-lo a um banco de dados MySQL. A mágica está no arquivo de configuração do Django settings.py. Também modificamos algumas configurações básicas como ALLOWED_HOSTS e TIME_ZONE. O Django é incrivelmente flexível. Além do MySQL, ele também suporta outros servidores SQL como o PostgreSQL, motores de servidor como o Nginx, etc.

Você também pode conferir nossos guias sobre as melhores práticas para instalar, configurar e trabalhar com o Django:

Feliz Computação!

author

Hark Labs

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.