Criando Primeira Aplicação - 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
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
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:
: Contém os arquivos de migração que sincronizam o banco de dados com os modelos definidos no aplicativo.migrations/
: Indica ao interpretador Python que o diretório é um pacote.__init__.py
: É usado para registrar modelos e configurar o painel administrativo.admin.py
: Define as configurações específicas do aplicativo.apps.py
: Contém a definição dos modelos de dados utilizados no aplicativo.models.py
: Armazena os testes automatizados para o aplicativo.tests.py
: Define as funções responsáveis por processar requisições e gerar respostas.views.py
Registrando a Aplicação no Projeto
Para que o Django reconheça uma aplicação personalizada, ela deve ser registrada no arquivo settings.py
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
hello
views.py
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()
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
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 (''
views.index
name='home'
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/