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.
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:
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.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.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.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.
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:
OutputPython 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
Output1.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.
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
OutputPython 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
Output2.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
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
OutputPython 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
Output2.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.
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:
manage.py
, que você pode usar para administrar várias tarefas específicas do Django.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:
OutputOperations 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.
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:
. . .
ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', . . .]
Quando você terminar, salve o arquivo e saia do seu editor.
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:
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:
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 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.
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.
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!