Construindo um aplicativo da Web Python com Django
Django é um framework web Python de alto nível que incentiva o desenvolvimento rápido e o design limpo e pragmático. Ele cuida de grande parte do incômodo do desenvolvimento web, permitindo que os desenvolvedores se concentrem em escrever o aplicativo em vez de reinventar a roda. Este artigo o guiará pela construção de um aplicativo web simples usando Django.
Introdução ao Django
Antes de começar a construir um aplicativo web Django, você precisa instalar o Django. Você pode instalar o Django usando pip, o instalador de pacotes do Python:
pip install django
Após a instalação do Django, você pode criar um novo projeto Django executando o seguinte comando no seu terminal ou prompt de comando:
django-admin startproject myproject
Este comando cria um novo diretório chamado myproject
com os arquivos necessários para começar. Navegue até este diretório:
cd myproject
Criando um aplicativo Django
Dentro do seu projeto Django, você pode criar aplicativos individuais que lidam com funcionalidades específicas. Por exemplo, você pode ter um aplicativo para autenticação de usuário, outro para postagens de blog, etc. Para criar um aplicativo, execute o seguinte comando:
python manage.py startapp myapp
Isso cria um novo diretório chamado myapp
contendo arquivos como models.py
, views.py
e tests.py
, entre outros. Você definirá seus modelos, visualizações e templates dentro deste aplicativo.
Definindo Modelos
Os modelos Django definem a estrutura dos seus dados e são representados como classes Python. Você os define no arquivo models.py
dentro do seu aplicativo:
from django.db import models
class BlogPost(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
Depois de definir seus modelos, você precisa criar tabelas de banco de dados para eles. Execute os seguintes comandos para aplicar as migrações:
python manage.py makemigrations
python manage.py migrate
Criando visualizações e modelos
As visualizações do Django manipulam a lógica do seu aplicativo e interagem com modelos para renderizar dados em templates. Uma visualização simples pode ser criada no arquivo views.py
:
from django.shortcuts import render
from .models import BlogPost
def home(request):
posts = BlogPost.objects.all()
return render(request, 'home.html', {'posts': posts})
O código acima busca todas as postagens do blog do banco de dados e as passa para um modelo chamado home.html
. O modelo home.html
é armazenado em um diretório chamado templates
dentro do seu aplicativo:
<!DOCTYPE html>
<html>
<head>
<title>Blog Home</title>
</head>
<body>
<h1>Blog Posts</h1>
<ul>
{% for post in posts %}
<li>{{ post.title }} - {{ post.created_at }}</li>
{% endfor %}
</ul>
</body>
</html>
Configurando URLs
Para conectar visualizações a URLs, você precisa definir padrões de URL. Crie um arquivo chamado urls.py
no diretório do seu aplicativo e adicione o seguinte código:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
Em seguida, inclua os padrões de URL deste aplicativo no arquivo principal do projeto urls.py
:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')),
]
Executando o servidor de desenvolvimento
Depois de configurar seus modelos, visualizações, templates e URLs, você pode executar o servidor de desenvolvimento Django para ver seu aplicativo web em ação:
python manage.py runserver
Abra um navegador da web e navegue até http://127.0.0.1:8000/
para ver seu aplicativo da web Django em execução.
Conclusão
O Django simplifica a criação de aplicativos web poderosos e robustos com Python. Este guia cobriu os conceitos básicos de configuração de um projeto Django, criação de um aplicativo, definição de modelos, criação de visualizações e templates, configuração de URLs e execução do servidor de desenvolvimento. Com o Django, você pode criar aplicativos web escaláveis e sustentáveis com facilidade.