Introdução
O Django é um framework web gratuito e de código aberto escrito em Python, com seus princípios principais sendo escalabilidade, reutilização e desenvolvimento rápido. Ele também é conhecido por sua consistência em nível de framework e acoplamento frouxo, permitindo que os componentes individuais sejam independentes uns dos outros.
Neste tutorial, você irá configurar um ambiente Django para fins de desenvolvimento em um servidor Ubuntu 22.04. Para um site ao vivo, você terá considerações adicionais, incluindo conexão com um banco de dados, configuração de um nome de domínio e adição de camadas de segurança. Existem vários tutoriais sobre Django que podem ajudá-lo enquanto você constrói sob a tag Django.
Pré-requisitos
Para completar este tutorial, você precisará de:
-
Uma conta de usuário não-root com privilégios de
sudo
, que você pode obter seguindo e completando o tutorial de configuração inicial do servidor para Ubuntu 22.04. -
Configuração do Python 3 com um ambiente de programação virtual. Você pode configurar isso através do guia de instalação do Python 3.
Passo 1 — Instalando o Django
Há várias maneiras de instalar o Django, o gerenciador de pacotes Python pip dentro de um ambiente virtual.
Enquanto estiver no diretório principal do servidor, você criará o diretório que conterá sua aplicação Django. Execute o seguinte comando para criar um diretório chamado django-apps
, ou outro nome de sua escolha. Em seguida, navegue até o diretório.
Estando dentro do diretório django-apps
, crie seu ambiente virtual. Você o chamará de genérico env
, mas você deve usar um nome que faça sentido para você e seu projeto.
Agora, ative o ambiente virtual com o seguinte comando:
Você saberá que está ativado quando o prefixo for alterado para (env)
, o que se parecerá com o seguinte, dependendo do diretório em que você está:
Dentro do ambiente, instale o pacote Django usando o pip. Instalar o Django nos permite criar e executar aplicações Django.
Uma vez instalado, verifique a instalação do Django executando uma verificação de versão:
Isso, ou algo similar, será a saída resultante:
Output4.0.6
Com o Django instalado no seu servidor, você pode prosseguir para a criação de um projeto de teste para garantir que tudo esteja funcionando corretamente. Você estará criando uma aplicação web esqueleto.
Passo 2 — Ajustando as Configurações do Firewall
Se você seguiu o tutorial inicial de configuração do servidor ou possui um firewall em execução no seu servidor, precisará abrir a porta que estará usando no firewall do seu servidor. Para o firewall UFW, você pode abrir a porta com o seguinte comando:
Se estiver usando Firewalls da DigitalOcean, você pode selecionar HTTP nas regras de entrada. Você pode ler mais sobre os Firewalls da DigitalOcean e como criar regras para eles, modificando as regras de entrada.
Passo 3 — Iniciando o Projeto
Agora você pode gerar uma aplicação usando django-admin
, uma ferramenta de linha de comando para tarefas de administração em Python. Em seguida, você pode usar o comando startproject
para criar a estrutura de diretórios do projeto para o seu site de teste.
Enquanto estiver no diretório django-apps
, execute o seguinte comando:
Observação: Executar o comando django-admin startproject <nomeprojeto>
irá nomear tanto o diretório do projeto quanto o pacote do projeto como <nomeprojeto>
e criar o projeto no diretório em que o comando foi executado. Se o parâmetro opcional <destino>
for fornecido, o Django usará o diretório de destino fornecido como o diretório do projeto e criará o manage.py
e o pacote do projeto dentro dele.
Agora você pode verificar quais arquivos de projeto foram criados. Navegue até o diretório testsite
e liste o conteúdo desse diretório para ver quais arquivos foram criados:
Outputmanage.py testsite
Você notará a saída que mostra que este diretório contém um arquivo chamado manage.py
e uma pasta chamada testsite
. O arquivo manage.py
é similar ao django-admin
e coloca o pacote do projeto em sys.path
. Isso também define a variável de ambiente DJANGO_SETTINGS_MODULE
para apontar para o arquivo settings.py
do seu projeto.
Você pode visualizar o script manage.py
no seu terminal executando o comando less
assim:
Quando terminar de ler o script, pressione q
para sair da visualização do arquivo.
Agora navegue até o diretório testsite
para visualizar os outros arquivos que foram criados:
Em seguida, execute o seguinte comando para listar o conteúdo do diretório:
Você verá quatro arquivos:
Output__init__.py asgi.py settings.py urls.py wsgi.py
Você pode examinar o que cada um desses arquivos é:
__init__.py
atua como o ponto de entrada para o seu projeto Python.asgi.py
contém a configuração para o deployment opcional para a Interface de Gateway do Servidor Assíncrona ou ASGI, que fornece um padrão para aplicativos que são síncronos ou assíncronos, e é considerado um sucessor do WSGI (veja abaixo).settings.py
descreve a configuração da sua instalação do Django e permite que o Django saiba quais configurações estão disponíveis.urls.py
contém uma listaurlpatterns
, que roteia e mapeia URLs para suasviews
.wsgi.py
contém a configuração para a Interface Gateway do Servidor Web ou WSGI, que fornece um padrão para aplicativos Python síncronos.
Nota: Embora arquivos padrão sejam gerados, você ainda tem a capacidade de ajustar os arquivos asgi.py
ou wsgi.py
a qualquer momento para atender às suas necessidades de implantação.
Passo 4 — Configurando o Django
Agora você pode iniciar o servidor e visualizar o site em um host e porta designados executando o comando runserver
.
Você precisará adicionar o endereço IP do seu servidor à lista de ALLOWED_HOSTS
no arquivo settings.py
localizado em ~/test_django_app/testsite/testsite/
.
Conforme declarado na documentação do Django, a variável ALLOWED_HOSTS
contém “uma lista de strings representando os nomes de host/domínio que este site Django pode servir. Esta é uma medida de segurança para evitar ataques de cabeçalho HTTP Host, que são possíveis mesmo em muitas configurações de servidor web aparentemente seguras”.
Você pode usar seu editor de texto favorito para adicionar seu endereço IP. Por exemplo, se estiver usando o nano
, execute o seguinte comando:
Assim que você executar o comando, você vai querer navegar até a seção ALLOWED_HOSTS
do documento e adicionar o endereço IP do seu servidor dentro dos colchetes simples ou duplos.
Você pode salvar a alteração e sair do nano pressionando as teclas CTRL
+ x
e em seguida pressionando a tecla y
. Em seguida, você irá acessar sua aplicação web via navegador.
Por fim, crie um usuário administrativo para que você possa utilizar a interface administrativa do Django. Isso pode ser feito com o comando createsuperuser
:
Você será solicitado a fornecer um nome de usuário, um endereço de email e uma senha para o seu usuário.
Passo 5 — Acessando a Aplicação Web Django
Com sua configuração concluída, certifique-se de voltar ao diretório onde está localizado o manage.py
:
Agora, execute o seguinte comando substituindo o texto seu-endereço-ip-do-servidor pelo IP do seu servidor:
Finalmente, você pode navegar até o link abaixo para ver como está o seu site esquelético, substituindo o texto destacado pelo IP real do seu servidor:
http://your-server-ip:8000/
Assim que a página carregar, você verá o seguinte:
Isso confirma que o Django foi instalado corretamente e que o seu projeto de teste está funcionando corretamente.
Para acessar a interface de administração, adicione /admin/
ao final da sua URL:
http://your_server_ip:8000/admin/
Isso o levará a uma tela de login:
Se você inserir o nome de usuário e a senha de administração que acabou de criar, terá acesso à seção principal de administração do site:
Para mais informações sobre como trabalhar com a interface de administração do Django, consulte “Como Habilitar e Conectar a Interface de Administração do Django”.
Quando terminar de testar seu aplicativo, você pode pressionar CTRL
+ C
para parar o comando runserver
. Isso o devolverá ao seu ambiente de programação.
Quando estiver pronto para sair do seu ambiente Python, você pode executar o comando deactivate
:
Desativar seu ambiente de programação o devolverá ao prompt de comando do terminal.
Conclusão
Neste tutorial, você instalou com sucesso o Django e configurou um ambiente de desenvolvimento para começar a trabalhar no seu aplicativo Django.
Agora você tem a base necessária para começar a construir aplicações web com Django.