Resumo : neste tutorial, você aprenderá como criar um novo projeto Django, entender a estrutura do projeto e iniciar o aplicativo web Django a partir de um navegador web.
Visão geral do Django
Django é um framework web Python que inclui um conjunto de componentes para resolver problemas comuns de desenvolvimento web.
Django permite desenvolver aplicações web rapidamente com menos código, aproveitando seu framework.
Django segue o princípio DRY (não se repita), que permite maximizar a reutilização do código.
Django usa o padrão MVT (Model-View-Template), que é um pouco semelhante ao padrão MVC (Model-View-Controller).
O padrão MVT consiste em três componentes principais:
- Modelo – define os dados ou contém a lógica que interage com os dados do banco de dados.
- Visualizar – comunica-se com o banco de dados por meio do modelo e transfere os dados para o modelo para representação dos dados.
- Template – define o template para exibição dos dados no navegador web.
O próprio framework Django atua como um controlador. A estrutura Django usa padrões de URL que enviam a solicitação para uma visualização apropriada.
Se você estiver familiarizado com MVC, o seguinte é equivalente:
- Template (T) é equivalente a View (V) em MVC
- View (V) é equivalente ao Controller (C) em MVC
- O modelo (M) é equivalente ao modelo (M) em MVC
Na prática, você frequentemente trabalhará com models, views, templates e URLs na aplicação Django.
Arquitetura Django
A imagem a seguir mostra como o Django gerencia o ciclo de solicitação/resposta HTTP usando seus componentes:
- Primeiro, um navegador da web solicita uma página especificada por um URL de um servidor da web. O servidor web passa a solicitação HTTP para o Django.
- Segundo, o Django combina a URL com padrões de URL para encontrar a primeira correspondência.
- Terceiro, o Django chama a View que corresponde à URL correspondente.
- Quarto, a visualização usa um modelo para recuperar dados do banco de dados.
- Quinto, o modelo retorna dados para a visualização.
- Finalmente, a visualização renderiza um modelo e o retorna como uma resposta HTTP.
Criando um ambiente virtual
Um ambiente virtual cria um ambiente isolado que consiste em um conjunto independente de pacotes Python.
Ao utilizar ambientes virtuais, você pode ter vários projetos que utilizam diferentes versões do Django. Além disso, ao mover o projeto para um servidor diferente, você pode instalar todos os pacotes dependentes do projeto usando um único pip
comando.
As etapas a seguir mostram como criar um ambiente virtual para um projeto Django usando o módulo venv integrado :
Primeiro, crie um novo diretório django-playground
:
mkdir django-playground
Linguagem de código: texto simples ( texto simples )
Segundo, navegue até o django-playground
diretório:
cd django-playground
Linguagem de código: texto simples ( texto simples )
Terceiro, crie um novo ambiente virtual usando o venv
módulo:
python -m venv venv
Quarto, ative o ambiente virtual:
venv\scripts\activate
O terminal mostrará o seguinte:
(venv) D:\django-playground>
Observe que você pode desativar o ambiente virtual usando o deactivate
comando:
deactivate
Instale o pacote Django
Como o Django é um pacote de terceiros, você precisa instalá-lo seguindo estas etapas:
Primeiro, emita o seguinte pip
comando para instalar o pacote Django:
pip install django
Segundo, verifique a versão do Django:
python -m django --version
Ele mostrará algo assim:
4.1.1
Linguagem de código: CSS ( css )
Observe que você provavelmente verá uma versão superior.
Explorando comandos do Django
Django vem com um programa utilitário de linha de comando chamado django-admin
que gerencia tarefas administrativas, como criar um novo projeto e executar o servidor de desenvolvimento Django.
Para listar todos os comandos disponíveis do Django, você executa o seguinte django-admin
comando assim:
django-admin
Saída:
Type 'django-admin help <subcommand>' for help on a specific subcommand.
Available subcommands:
[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
optimizemigration
runserver
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
test
testserver
Linguagem de código: texto simples ( texto simples )
Por enquanto, estamos interessados no startproject
comando que cria um novo projeto Django. O startproject
comando a seguir cria um novo projeto chamado django_project
:
django-admin startproject django_project
Este comando cria um django_project
diretório.
Vamos explorar a estrutura do projeto:
cd django_project
O seguinte mostra a django_project
estrutura:
├── django_project
| ├── asgi.py
| ├── settings.py
| ├── urls.py
| ├── wsgi.py
| └── __init__.py
└── manage.py
Linguagem de código: texto simples ( texto simples )
Aqui está uma rápida visão geral de cada arquivo no projeto Django:
manage.py
é um programa de linha de comando que você usa para interagir com o projeto, como iniciar um servidor de desenvolvimento e fazer alterações no banco de dados.
O django_project
é um pacote Python que consiste nos seguintes arquivos:
__init__.py
– é um arquivo vazio indicando que odjango_project
diretório é um pacote.settings.py
– contém as configurações do projeto, como aplicativos instalados, conexões de banco de dados e diretórios de modelos.urls.py
– armazena uma lista de rotas que mapeiam URLs para visualizações.wsgi.py
– contém as configurações que executam o projeto como um aplicativo de interface de gateway de servidor web (WSGI) com servidores web compatíveis com WSGI.asgi.py
– contém as configurações que executam o projeto como um aplicativo de interface de gateway de servidor web assíncrono (AWSGI) com servidores web compatíveis com AWSGI.
Executando o servidor de desenvolvimento Django
Django vem com um servidor web integrado que permite executar rapidamente seu projeto Django para fins de desenvolvimento.
O servidor web de desenvolvimento Django verificará continuamente se há alterações no código e recarregará o projeto automaticamente. No entanto, você ainda precisa reiniciar o servidor web manualmente em alguns casos, como adicionar novos arquivos ao projeto.
Para executar o servidor de desenvolvimento Django, você usa o runserver
comando:
python manage.py runserver
Linguagem de código: CSS ( css )
Saída:
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
...
Django version 4.1.1, using settings 'django_project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
Linguagem de código: texto simples ( texto simples )
Assim que o servidor estiver instalado e funcionando, você poderá abrir o aplicativo da web usando o URL listado na saída. Normalmente, o URL é algo assim:
http://127.0.0.1:8000/
Linguagem de código: JavaScript ( javascript )
Agora você pode copiar e colar o URL em um navegador da web. Deve mostrar a seguinte página da web:
Contém urls.py
uma rota padrão que mapeia /admin
o caminho com a admin.site.urls
visualização:
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
Linguagem de código: Python ( python )
Para abrir a página de administração , você usa o seguinte URL:
http://127.0.0.1:8000/admin
Linguagem de código: JavaScript ( javascript )
Ele mostrará uma página de login:
Pare o servidor de desenvolvimento Django
Para parar o servidor de desenvolvimento Django, abra o terminal e pressione Ctrl-C (ou Command-C) duas vezes .
Criar arquivo requisitos.txt
O requirements.txt
arquivo contém todas as dependências de um projeto Django específico. Ele também contém as dependências das dependências.
Para criar um requirements.txt
arquivo, você executa o seguinte pip
comando:
pip freeze > requirements.txt
Linguagem de código: texto simples ( texto simples )
Ao mover o projeto para um novo servidor, por exemplo, um servidor de teste ou de produção, você pode instalar todas as dependências usadas pelo projeto Django atual usando o seguinte pip
comando:
pip install -r requirements.txt
Linguagem de código: texto simples ( texto simples )
Baixe o código fonte do Projeto Django
Resumo
- Django é um framework web Python que permite desenvolver aplicações web rapidamente.
- Django usa o padrão MVT (Model-View-Template), que é semelhante ao padrão MVC (Model-View-Controller).
- Use o
django-admin startproject new_project
comando para criar um novo projeto. - Use o
python manage.py runserver
comando para executar o projeto usando o servidor web de desenvolvimento Django. - Pressione Ctrl-C (ou Cmd-C) para parar o servidor web de desenvolvimento Django.