Como instalar o framework web Django no Ubuntu 22.04

Introdução

O Django é um framework web completo em Python para desenvolver sites e aplicações dinâmicas. Usando o Django, você pode criar rapidamente aplicações web em Python e contar com o framework para realizar a maior parte do trabalho pesado.

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

Métodos Diferentes

Há diferentes maneiras de instalar o Django, dependendo das suas necessidades e de como deseja configurar seu ambiente de desenvolvimento. Estes têm diferentes vantagens e um método pode se adequar melhor à 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 do Django que podem ser instalados com o gerenciador de pacotes apt convencional. 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 estar defasada em relação às versões oficiais disponíveis no projeto.
  • Instale com pip em um ambiente virtual: Você pode criar um ambiente autocontido para seus projetos usando ferramentas como venv e virtualenv. Um ambiente virtual permite que você instale o Django em um diretório de projeto sem afetar o sistema maior, juntamente com outras personalizações e pacotes por projeto. Este é geralmente o método mais prático e recomendado para trabalhar com o Django.
  • Instale a versão de desenvolvimento com git: Se deseja instalar a última versão de desenvolvimento em vez da versão estável, pode adquirir o código do repositório Git. Isso é necessário para obter os recursos/correções mais recentes e pode ser feito dentro do seu ambiente virtual. No entanto, as versões de desenvolvimento não têm as mesmas garantias de estabilidade que as versões mais estáveis.

Pré-requisitos

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

Instalação Global a partir de Pacotes

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

Primeiro, atualize o índice de pacotes local com apt:

  1. sudo apt update

Em seguida, verifique qual versão do Python está instalada. O 22.04 é fornecido com o Python 3.10 por padrão, que você pode verificar digitando:

  1. python3 -V

Você deverá ver uma saída como esta:

Output
Python 3.10.4

Depois, instale o Django:

  1. sudo apt install python3-django

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

  1. django-admin --version
Output
3.2.12

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

Instale com pip em um Ambiente Virtual

A forma 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. Essa ferramenta permite criar ambientes virtuais Python e instalar pacotes Python sem afetar o restante do sistema. Você pode, portanto, selecionar pacotes Python em uma base de projeto por projeto, independentemente de conflitos com os requisitos de outros projetos.

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

  1. sudo apt update

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

  1. python3 -V
Output
Python 3.10.4

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

  1. sudo apt install python3-pip python3-venv

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

  1. mkdir ~/newproject
  2. cd ~/newproject

Em seguida, crie um ambiente virtual dentro do diretório do projeto usando o comando python compatível com sua versão do Python. Chamaremos nosso ambiente virtual de my_env, mas você deve nomeá-lo de forma descritiva:

  1. python3 -m venv my_env

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

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

  1. source my_env/bin/activate

Seu prompt deve mudar para refletir que você está agora no seu ambiente virtual. Deverá ficar algo assim: (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 ser chamado apenas de pip quando estiver no seu ambiente virtual. Também observe que você não precisa usar sudo pois está instalando localmente:

  1. pip install django

Você pode verificar a instalação digitando:

  1. django-admin --version
Output
4.0.4

Observe que sua versão pode ser diferente da versão mostrada aqui.

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

  1. deactivate

Seu prompt deve voltar para a exibição convencional. Quando você deseja trabalhar no seu projeto novamente, reative seu ambiente virtual movendo-se de volta para o diretório do seu projeto e ativando:

  1. cd ~/newproject
  2. source my_env/bin/activate

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

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

Primeiro, vamos atualizar o índice de pacotes local:

  1. sudo apt update

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

  1. python3 -V
Output
Python 3.10.4

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

  1. sudo apt install python3-pip python3-venv

O próximo passo é clonar o repositório do Django. Entre lançamentos, este repositório terá recursos e correções de bugs mais atualizados, possivelmente às custas da estabilidade. Você pode clonar o repositório para um diretório chamado ~/django-dev dentro do seu diretório home digitando:

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

Mude para este diretório:

  1. cd ~/django-dev

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

  1. python3 -m venv my_env

Ative-o:

  1. source my_env/bin/activate

Em seguida, você pode instalar o repositório usando pip. A opção -e instalará no modo “editável”, o que é necessário ao instalar a partir do controle de versão:

  1. pip install -e ~/django-dev

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

  1. django-admin --version
Output
4.0.4.2

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

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

Criando um Projeto de Exemplo

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

Primeiro, crie um diretório para o seu projeto e mude para ele:

  1. mkdir ~/django-test
  2. cd ~/django-test

Em seguida, crie seu ambiente virtual:

  1. python3 -m venv my_env

Ative o ambiente:

  1. source my_env/bin/activate

Instale o Django:

  1. pip install django

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

  • A management script, manage.py, which you can use to administer various Django-specific tasks.
  • A directory (with the same name as the project) that includes the actual project code.

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

  1. django-admin startproject djangoproject .

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

Para migrar o banco de dados, digite:

  1. python manage.py migrate

Você verá uma saída como a 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 auth.0010_alter_group_name_max_length... OK Applying auth.0011_update_proxy_permissions... OK Applying auth.0012_alter_user_first_name_max_length... OK Applying sessions.0001_initial... OK

Finalmente, vamos criar um usuário administrativo para que você possa usar a interface administrativa do Django. Vamos fazer isso com o comando createsuperuser:

  1. python manage.py createsuperuser

Você será solicitado a fornecer 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 sua aplicação, será necessário modificar uma das diretrizes nas configurações do Django.

Abra o arquivo de configurações digitando:

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

Dentro, localize a diretiva ALLOWED_HOSTS. Isso define uma lista de endereços ou nomes de domínio que podem ser usados para se conectar à instância do Django. Uma solicitação recebida com um cabeçalho Host que não esteja nesta lista irá gerar uma exceção. Django exige que você defina isso para evitar uma determinada classe de vulnerabilidade de segurança.

Entre os colchetes, liste os endereços IP ou nomes de domínio associados ao seu servidor Django. Cada item deve ser listado entre aspas, com entradas separadas por vírgula. Se desejar solicitações para um domínio inteiro e todos os subdomínios, adicione um ponto antes da entrada:

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

Ao terminar, salve o arquivo e saia do seu editor.

Testando o Servidor de Desenvolvimento

Depois de ter um usuário, você pode iniciar o servidor de desenvolvimento do Django para ver como é um novo projeto Django. Você deve usar isso apenas para fins de desenvolvimento. Quando estiver pronto para implantar, certifique-se de seguir cuidadosamente as diretrizes de implantação do Django.

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

  1. sudo ufw allow 8000

Inicie o servidor de desenvolvimento:

  1. python manage.py runserver your_server_ip:8000

Visite o endereço IP do seu servidor seguido por :8000 em seu navegador da web:

http://your_server_ip:8000

Você deve ver algo parecido com isto:

Para acessar a interface de administração, adicione /admin/ ao final do seu URL:

http://your_server_ip:8000/admin/

Isto o levará a uma tela de login:

Se você inserir o nome de usuário e senha de administrador que acabou de criar, terá acesso à seção principal de administração do site:

Para obter 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 explorar o site padrão, você pode parar o servidor de desenvolvimento digitando CTRL-C em seu terminal.

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

Conclusão

Agora você deve ter o Django instalado em seu servidor Ubuntu 22.04, fornecendo as principais ferramentas necessárias para criar poderosas aplicações web. Você também deve saber como iniciar um novo projeto e iniciar o servidor de desenvolvimento. Aproveitar um framework web completo como o Django pode ajudar a tornar o desenvolvimento mais rápido, permitindo que você se concentre apenas nos aspectos únicos de suas aplicações.

Se desejar mais informações sobre como trabalhar com o Django, incluindo discussões detalhadas sobre coisas como models e views, por favor, consulte nossa série de desenvolvimento do Django.

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-22-04