Criando Primeira Aplicação em Django
Um projeto web desenvolvido com Django é composto por diversos aplicações, que juntos formam uma aplicação completa. Cada aplicação encapsula uma funcionalidade ou conjunto de funcionalidades relacionadas, promovendo modularidade e organização. Essa estrutura modular permite desenvolver partes do projeto de forma relativamente independente, além de facilitar a reutilização de aplicações em outros projetos.
Aplicações padrão
Ao iniciar um novo projeto Django, algumas aplicações padrão já vêm configuradas. Elas estão listadas no arquivo settings.py
, dentro da variável INSTALLED_APPS
:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
Essas aplicações fornecem funcionalidades essenciais, como autenticação de usuários, gerenciamento de sessões, manipulação de arquivos estáticos e acesso à interface administrativa.
Criando uma aplicação
Para adicionar funcionalidades específicas ao projeto, é possível criar aplicações personalizadas. Isso é feito com o seguinte comando:
python manage.py startapp nome_do_aplicacao
Por exemplo, para criar uma aplicação chamada hello
, pode ser utilizado o seguinte comando:
python manage.py startapp hello
Após a execução do comando, será gerada uma pasta com a estrutura inicial da aplicação:
hello/ |-- migrations/ |-- __init__.py |-- admin.py |-- apps.py |-- models.py |-- tests.py |-- views.py
Estrutura da aplicação
A estrutura da aplicação inclui os seguintes arquivos e diretórios:
migrations/
: Contém os arquivos de migração que sincronizam o banco de dados com os modelos definidos no aplicativo.__init__.py
: Indica ao interpretador Python que o diretório é um pacote.admin.py
: É usado para registrar modelos e configurar o painel administrativo.apps.py
: Define as configurações específicas do aplicativo.models.py
: Contém a definição dos modelos de dados utilizados no aplicativo.tests.py
: Armazena os testes automatizados para o aplicativo.views.py
: Define as funções responsáveis por processar requisições e gerar respostas.
Registrando a Aplicação no Projeto
Para que o Django reconheça uma aplicação personalizada, ela deve ser registrada no arquivo settings.py
. Isso é feito adicionando o nome do aplicativo à lista INSTALLED_APPS
:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'hello',
]
Criando uma Função de Visualização
No Django, as funções de visualização (ou views) processam solicitações HTTP e geram respostas. No arquivo views.py do aplicativo hello, uma funcionalidade simples pode ser implementada para retornar a string "Hello World". Inicialmente, o arquivo views.py contém apenas o seguinte:
No Django, as funções de visualização (ou views) processam solicitações HTTP e geram respostas. No arquivo views.py
da aplicação hello
, uma funcionalidade simples pode ser implementada para retornar a string "Hello World". Inicialmente, o arquivo views.py
contém apenas o seguinte código:
from django.shortcuts import render
# Create your views here.
Esse código pode ser modificado para:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello www.programicio.com!")
A função index()
recebe um objeto de solicitação como argumento e retorna uma resposta HTTP contendo a mensagem "Hello www.programicio.com!".
Configurando Rotas no Arquivo urls.py
As rotas do projeto mapeiam URLs para as funções de visualização responsáveis por processá-las. No Django, isso é feito no arquivo urls.py
. O código inicial desse arquivo geralmente é o seguinte:
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
Para associar a função index ao caminho raiz do projeto, o arquivo pode ser alterado da seguinte forma:
from django.urls import path
from hello import views
urlpatterns = [
path('', views.index, name='home'),
]
Aqui, o caminho vazio (''
) é mapeado para a função views.index
. O parâmetro name='home'
adiciona um identificador à rota, o que pode facilitar seu uso em outras partes do projeto.
Depois de configurar as rotas e a função de visualização, o servidor de desenvolvimento do Django pode ser iniciado com o comando:
python manage.py runserver
No navegador, ao acessar http://127.0.0.1:8000/
, será exibida a mensagem "Hello www.programicio.com!"
. Esse resultado indica que a aplicação foi configurada corretamente e está funcionando como esperado.
Documentação oficial: