Tutorial

Como Instalar o Framework Web Django no Ubuntu 18.04

UbuntuDjangoPython FrameworksUbuntu 18.04

Introdução

O Django é um framework Web Python completo para o desenvolvimento de sites e aplicativos dinâmicos. Usando o Django, você pode criar aplicativos Web em Python e confiar no framework para fazer uma boa parte do trabalho pesado.

Neste guia, você irá colocar o Django em funcionamento em um servidor Ubuntu 18.04. Após a instalação, você iniciará um novo projeto para usar como base para seu site.

Métodos Diferentes

Existem maneiras diferentes de instalar o Django, dependendo das suas necessidades e como você queira configurar seu ambiente de desenvolvimento. Essas têm vantagens diferentes e um método pode se dar melhor na sua situação específica do que outros.

Alguns dos métodos diferentes incluem:

  • Instalação global a partir de pacotes: Os repositórios oficiais do Ubuntu contêm pacotes Django que podem ser instalados com o gerenciador de pacotes convencional apt. Isso é simples, mas não tão flexível quanto alguns outros métodos. Além disso, a versão contida nos repositórios pode ficar para trás das versões oficiais disponíveis no projeto.
  • Instalar com o pip em um ambiente virtual: Você pode criar um ambiente auto-contido para seus projetos utilizando ferramentas como o venv e o virtualenv. Um ambiente virtual permite que você instale o Django em um diretório de projeto sem afetar o sistema como um todo, junto com outras personalizações e pacotes por projeto. Esta é, normalmente, a abordagem mais prática e recomendada para trabalhar com o Django.
  • Instalar versão de desenvolvimento com o git: Se você deseja instalar a versão de desenvolvimento mais recente ao invés do lançamento estável, você pode adquirir o código do repositório do Git. Isso é necessário para obter as últimas vantagens/correções e pode ser feito dentro do seu ambiente virtual. As versões de desenvolvimento não têm as mesmas garantias de estabilidade das versões mais estáveis, no entanto.

Pré-requisitos

Antes de começar, você deve ter um usuário não-root com privilégios sudo disponível no seu servidor Ubuntu 18.04. Para configurar esses detalhes, siga nosso Guia de configuração inicial do servidor Ubuntu 18.04.

Instalação Global de Pacotes

Se você deseja instalar o Django utilizando os repositórios do Ubuntu, o processo é muito simples.

Primeiramente, atualize seu índice de pacotes local com o apt:

  • sudo apt update

Em seguida, verifique qual versão do Python você tem instalada. 18.04 acompanha o Python 3.6 por padrão, que você pode verificar digitando:

  • python3 -V

Você deve ver um resultado como este:

Output
Python 3.6.5

Em seguida, instale o Django:

  • sudo apt install python3-django

Você pode testar se a instalação foi bem sucedida digitando:

  • django-admin --version
Output
1.11.11

Isso significa que o software foi instalado com sucesso. Você também pode notar que a versão do Django não é a versão estável mais recente. Para aprender mais sobre como usar o software, pule adiante para aprender como criar um projeto exemplo.

Instalar com o pip em um Ambiente Virtual

A maneira mais flexível de instalar o Django no seu sistema é dentro de um ambiente virtual. Vamos mostrar como instalar o Django em um ambiente virtual que criaremos com o módulo venv, parte da biblioteca padrão do Python 3. Esta ferramenta permite que você crie ambientes virtuais Python e instale pacotes Python sem afetar o resto do sistema. Você pode, portanto, selecionar pacotes Python projeto a projeto, independentemente de conflitos com requisitos de outros projetos.

Vamos começar recarregando o índice de pacotes local:

  • sudo apt update

Verifique a versão do Python que você tem instalada:

  • python3 -V
Output
Python 3.6.5

Em seguida, vamos instalar o pip dos repositórios do Ubuntu:

  • sudo apt install python3-pip

Assim que o pip estiver instalado, você pode usá-lo para instalar o pacote venv:

  • sudo apt install python3-venv

Agora, sempre que você iniciar um novo projeto, você pode criar um ambiente virtual para ele. Comece criando e entrando em um novo diretório de projeto:

  • mkdir ~/newproject
  • cd ~/newproject

Em seguida, crie um ambiente virtual dentro do diretório de projeto utilizando o comando python que é compatível com sua versão do Python. Vamos chamar nosso ambiente virtual de my_env, mas você deve nomeá-lo algo descritivo:

  • python3.6 -m venv my_env

Isso irá instalar versões standalone do Python e pip em uma estrutura de diretórios isolada dentro do seu diretório de projeto. Um diretório será criado com o nome que você selecionar, que irá reter a hierarquia de arquivos onde seus pacotes serão instalados.

Para instalar pacotes no ambiente isolado, você deve ativá-lo digitando:

  • source my_env/bin/activate

Seu prompt deve mudar para refletir que você agora está no seu ambiente virtual. Ele se parecerá com (my_env)username@hostname:~/newproject$.

No seu novo ambiente, você pode usar o pip para instalar o Django. Independentemente da sua versão do Python, o pip deve apenas ser chamado de pip quando você estiver no seu ambiente virtual. Note também que você não precisa usar o sudo uma vez que está instalando localmente:

  • pip install django

Você pode verificar a instalação digitando:

  • django-admin --version
Output
2.1

Note que sua versão pode diferir da versão mostrada aqui.

Para deixar seu ambiente virtual, você precisa emitir o comando deactivate de qualquer lugar no sistema:

  • deactivate

Seu prompt deve retornar à exibição convencional. Quando você desejar trabalhar no seu projeto novamente, reative seu ambiente virtual retornando para seu diretório de projeto e ativando:

  • cd ~/newproject
  • source my_env/bin/activate

Instalação da Versão de Desenvolvimento com o Git

Se você precisar de uma versão de desenvolvimento do Django, você pode baixar e instalar o Django do repositório do Git. Vamos fazer isso a partir do interior de um ambiente virtual.

Primeiramente, vamos atualizar o índice de pacotes local:

  • sudo apt update

Verifique a versão do Python que você tem instalada:

  • python3 -V
Output
Python 3.6.5

Em seguida, instale o pip dos repositórios oficiais:

  • sudo apt install python3-pip

Instale o pacote venv para criar seu ambiente virtual:

  • sudo apt install python3-venv

O próximo passo é clonar o repositório do Django. Entre os lançamentos, este repositório terá mais recursos atualizados e correções de erros ao possível custo de estabilidade. Você pode clonar o repositório para um diretório chamado ~/django-dev dentro do seu diretório home digitando:

  • git clone git://github.com/django/django ~/django-dev

Mude para este diretório:

  • cd ~/django-dev

Crie um ambiente virtual utilizando o comando python que seja compatível com sua versão instalada do Python:

  • python3.6 -m venv my_env

Ative-o:

  • source my_env/bin/activate

Em seguida, você pode instalar o repositório utilizando o pip. A opção -e irá instalar em modo “editável”, que é necessário ao instalar da versão controle:

  • pip install -e ~/django-dev

Você pode verificar se a instalação foi bem sucedida digitando:

  • django-admin --version
Output
2.2.dev20180802155335

Novamente, a versão que você ver exibida pode não corresponder ao mostrado aqui.

Agora você tem a versão mais recente do Django no seu ambiente virtual.

Criando um Projeto Exemplo

Com o Django instalado, você pode começar a construir seu projeto. Vamos analisar como criar um projeto e testá-lo no seu servidor de desenvolvimento utilizando um ambiente virtual.

Primeiramente, crie um diretório para seu projeto e mude-se para dentro dele:

  • mkdir ~/django-test
  • cd ~/django-test

Em seguida, crie seu ambiente virtual:

  • python3.6 -m venv my_env

Ative o ambiente:

  • source my_env/bin/activate

Instale o Django:

  • pip install django

Para construir seu projeto, você pode usar o django-admin com o comando startproject. Vamos chamar nosso projeto de djangoproject, mas você pode substituí-lo por um nome diferente. O startproject criará um diretório dentro do seu diretório de trabalho atual que inclui:

  • Um script de gerenciamento, manage.py, que você pode usar para administrar várias tarefas específicas do Django.
  • Um diretório (com o mesmo nome do projeto) que inclui o código do projeto em si.

Para evitar ter muitos diretórios amontoados, no entanto, vamos dizer ao Django para colocar o script de gerenciamento e diretório interno no diretório atual (note o ponto final):

  • django-admin startproject djangoproject .

Para migrar o banco de dados (este exemplo usa o SQLite por padrão), vamos usar o comando migrate com o manage.py. Migrações aplicam quaisquer alterações que você tenha feito aos seus modelos do Django no seu esquema de banco de dados.

Para migrar o banco de dados, digite:

  • python manage.py migrate

Você verá um resultado como o seguinte:

Output
Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying sessions.0001_initial... OK

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.

Modificando ALLOWED_HOSTS nas Configurações do Django

Para testar com sucesso seu aplicativo, você precisará modificar uma das diretivas nas configurações do Django.

Abra o arquivo de configuração digitando:

  • nano ~/django-test/djangoproject/settings.py

Dentro, localize a diretiva ALLOWED_HOSTS. Isso define uma lista de endereços ou nomes de domínio permitidos que podem ser usados para se conectar à instância do Django. Um pedido recebido com um cabeçalho Host que não está nesta lista irá criar uma exceção. O Django exige que você defina isso para prevenir uma certa classe de vulnerabilidade de segurança.

Dentro dos colchetes, liste os endereços IP ou nomes de domínio associados ao seu servidor do Django. Cada item deve ser listado entre aspas, com entradas separadas divididas por uma vírgula. Se você quiser pedidos para um domínio inteiro e quaisquer subdomínios, anteceda um período ao início da entrada:

~/django-test/djangoproject/settings.py
. . .
ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', . . .]

Quando você terminar, salve o arquivo e saia do seu editor.

Testando o Servidor de Desenvolvimento

Assim que você tiver um usuário, você pode iniciar o servidor de desenvolvimento do Django para ver como é um projeto do Django recém-criado. Você deve apenas usar isso para fins de desenvolvimento. Quando você estiver pronto para implantar, certifique-se de seguir as diretrizes do Django para implantação com cuidado.

Antes de você testar o servidor de desenvolvimento, certifique-se de abrir a porta apropriada no seu firewall. Se você seguiu o guia de configuração inicial do servidor e está utilizando o UFW, você pode abrir a porta 8000 digitando:

  • sudo ufw allow 8000

Inicie o servidor de desenvolvimento:

  • python manage.py runserver your_server_ip:8000

Visite o endereço IP do seu servidor seguido de :8000 no seu navegador Web:

http://your_server_ip:8000

Você deve ver algo que se parece com isso:

Django public page

Para acessar a interface admin, adicione /admin/ ao final do seu URL:

http://your_server_ip:8000/admin/

Isso irá levar você a uma tela de login:

Django admin 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:

Django admin page

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 olhar através do site padrão, você pode parar o servidor de desenvolvimento digitando CTRL-C no seu terminal.

O projeto Django que você criou fornece a base estrutural para projetar um site mais completo. Verifique a documentação do Django para mais informações sobre como construir seus aplicativos e personalizar seu site.

Conclusão

Agora, você deve ter o Django instalado no seu servidor Ubuntu 18.04, fornecendo as principais ferramentas de que você precisa para criar aplicativos Web poderosos. Você também deve saber como iniciar um novo projeto e iniciar o servidor de desenvolvedor. Impulsionar um framework completo como o Django pode ajudar a tornar o desenvolvimento mais rápido, permitindo que você se concentre apenas nos aspectos únicos dos seus aplicativos.

Se você quiser mais informações sobre trabalhar com o Django, incluindo discussões profundas sobre coisas como modelos e views, por favor, veja nossa série de desenvolvimento do Django.

Creative Commons License