O Django é um framework web de código aberto, escrito em Python com seus princípios fundamentais sendo escalabilidade, reusabilidade e desenvolvimento rápido. Ele também é conhecido por sua consistência a nível de framework e pelo baixo acoplamento, permitindo que os componentes sejam independentes uns dos outros.
Neste tutorial, vamos configurar um ambiente Django para fins de desenvolvimento em um servidor Ubuntu 20.04. Para um site ativo, você terá considerações adicionais, incluindo a conexão a um banco de dados, configuração de um nome de domínio e adição de camadas de segurança. Temos uma variedade de tutoriais de Django que podem ajudar você enquanto você cria sob nossa tag Django.
Para completar este tutorial, você irá precisar de:
Uma conta non-root user com privilégios sudo
, que você pode obter após seguir e completar o tutorial initial server setup for Ubuntu 20.04.
O Python 3 configurado com um ambiente virtual.de programação. Você pode configurar isso através do Python 3 installation guide
Há várias maneiras de instalar o Django, usando o gerenciador de pacotes Python pip dentro de um ambiente virtual.
Estando no diretório home do servidor, vamos criar o diretório que conterá nossa aplicação Django. Execute o seguinte comando para criar um diretório chamado django-apps
, ou outro nome de sua escolha. Em seguida, vá até o diretório.
- mkdir django-apps
- cd django-apps
Estando dentro do diretório django-apps
, crie seu ambiente virtual. Vamos chamá-lo de generic env
, mas você deve usar um nome que é significativo para você e seu projeto.
- virtualenv env
Agora, ative o ambiente virtual com o seguinte comando:
- . env/bin/activate
Você saberá que ele está ativado assim que o prefixo for alterado para (env)
, que será parecido com o seguinte, dependendo de qual diretório você está:
-
Dentro do ambiente, instale o pacote Django usando o pip. A instalação do Django nos permite criar e executar aplicações Django.
- pip install django
Uma vez instalado, verifique sua instalação do Django executando uma verificação de versão:
- django-admin --version
Esta, ou algo parecido, será a saída resultante:
Output3.0.6
Com o Django instalado em seu servidor, podemos seguir em frente para criar um projeto de teste para garantir que tudo esteja funcionando corretamente. Criaremos uma aplicação web esqueleto.
Se você seguiu nosso tutorial de configuração inicial do servidor ou tiver um firewall em execução em seu servidor, vamos precisar abrir a porta que vamos usar no firewall do nosso servidor. Para o firewall UFW, você pode abrir a porta com o seguinte comando:
- sudo ufw allow 8000
Se você estiver usando o Firewall da DigitalOcean, você pode selecionar HTTP
das regras de entrada. Você pode ler mais sobre o Firewall da DigitalOcean e criar regras para ele modificando as regras de entrada.ou inbound rules
Agora, podemos gerar uma aplicação usando o django-admin
, um utilitário de linha de comando para tarefas de administração em Python. Em seguida, podemos usar o comando startproject
para criar a estrutura de diretórios do projeto para nosso site de teste.
Estando no diretório django-apps
, execute o seguinte comando:
- django-admin startproject testsite
Nota: executar o comando django-admin startproject <projectname>
irá nomear tanto o diretório do projeto quanto o pacote de projeto como <^><projectname>
e criar o projeto no diretório em que o comando foi executado. Se o parâmetro opcional <destination>
for fornecido, o Django utilizará o diretório de destino fornecido como diretório do projeto e criará o manage.py
e o pacote do projeto dentro dele.
Agora podemos ver quais arquivos de projeto foram criados. Navegue até o diretório testsite
, em seguida liste o conteúdo desse diretório para ver quais arquivos foram criados:
- cd testsite
- ls
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 no sys.path
. Ele também define a variável de ambiente DJANGO_SETTINGS_MODULE
para apontar para o arquivo settings.py
do seu projeto.
Você pode ver o script manage.py
em seu terminal executando o comando less
dessa forma:
- less manage.py
Quando você terminar de ler o script, pressione q
para parar de visualizar o arquivo.
Agora, vá até o diretório testsite
para visualizar os outros arquivos que foram criados:
- cd testsite/
Em seguida, execute o seguinte comando para listar o conteúdo do diretório:
- ls
Você verá quatro arquivos:
Output__init__.py asgi.py settings.py urls.py wsgi.py
Vamos analisar o que são esses arquivos:
__init__.py
atua como o entry point para seu projeto Python.asgi.py
contém a configuração para o deployment opcional na Interface de Gateway de Servidor Assíncrono ou ASGI, que fornece um padrão para aplicativos que são síncronos e assíncronos, e é considerado como um sucessor do WSGI (veja abaixo).settings.py
descreve a configuração de sua instalação do Django e permite que o Django saiba quais configurações estão disponíveis.urls.py
contém uma lista de urlpatterns
, que roteia e mapeia URLs para suas views
wsgi.py
contém a configuração para a Interface de Gateway do Servidor Web ou WSGI, que fornece um padrão para aplicativos Python síncronos.Nota: embora os arquivos padrão sejam gerados, você ainda tem a capacidade de ajustar os arquivos asgi.py
ou wsgi.py
, a qualquer momento para os adequar às necessidades do seu deployment.
Agora, podemos iniciar o servidor e visualizar o site em um host e porta designados executando o comando runserver
.
Vamos precisar adicionar o endereço IP do seu servidor à lista ALLOWED_HOSTS
no arquivo settings.py
, localizado em ~/test_django_app/testsite/testsite/
.
Como indicado em Django docs, a variável ALLOWED_HOSTS
contém "uma lista de strings representando os nomes de host/domínio que este site de Django pode servir. Esta é uma medida de segurança para evitar ataques de cabeçalhos de Host HTTP, 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 você estiver usando o nano
, execute o seguinte comando:
- nano ~/django-apps/testsite/testsite/settings.py
Assim que executar o comando, você irá querer acessar a seção Allowed Hosts do documento e adicionar o endereço IP do seu servidor dentro de colchetes entre aspas simples ou duplas.
"""
Django settings for testsite project.
Generated by 'django-admin startproject' using Django 2.0.
...
"""
...
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
# Edit the line below with your server IP address
ALLOWED_HOSTS = ['your-server-ip']
...
Você pode salvar a alteração e sair do nano mantendo pressionadas as teclas CTRL
+ x
e, em seguida, pressionando a tecla y
. Em seguida, vamos seguir em frente para acessar nosso app web através de um navegador.
Finalmente, vamos criar um usuário administrativo para que você possa usar a interface admin do Django. Vamos fazer isso com o comando createsuperuser
:
- python manage.py createsuperuser
Você será solicitado a incluir um nome de usuário, um endereço de e-mail, e uma senha para seu usuário.
Com nossa configuração concluída, certifique-se de voltar para o diretório onde o manage.py
está localizado:
- cd ~/django-apps/testsite/
Agora, execute o seguinte comando substituindo o texto your-server-ip pelo IP do seu servidor:
- python manage.py runserver 0.0.0.0:8000
Por fim, você pode acessar o link abaixo para ver como seu site esqueleto se apresenta, substituindo novamente o texto destacado pelo IP real do seu servidor:
http:/
Assim que a página carregar, você verá o seguinte:
Isso confirma que o Django foi instalado corretamente e o projeto de teste está funcionando corretamente.
Para acessar a interface admin, adicione /admin/
ao final do seu URL:
http://your_server_ip:8000/admin/
Isso o levará a uma tela de login:
Se você digitar o nome de usuário e senha do admin que você acabou de criar, você terá acesso à seção admin principal do site:
Para mais informações sobre trabalhar com a interface admin do Django, por favor, veja “Como Habilitar e Conectar a Interface Admin do Django.”
Quando você terminar de testar seu app, você pode pressionar CTRL
+ C
para parar o comando runserver
. Isso o retornará para seu ambiente de programação.
Quando estiver pronto para deixar seu ambiente Python, você pode executar o comando deactivate
:
- deactivate
A desativação do seu ambiente de programação o levará de volta ao prompt de comando do terminal.
Neste tutorial, você instalou o Django com sucesso e configurou um ambiente de desenvolvimento para começar a trabalhar em seu app Django.
Agora você tem a base necessária para começar a desenvolver aplicações web no Django.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.