Guia de Introdução ao Django: Construindo Rapidamente sua Primeira Aplicação Web
Guia de Introdução ao Django: Construindo Rapidamente sua Primeira Aplicação Web
Django é um framework web Python de alto nível, com foco no desenvolvimento rápido e design limpo. Ele segue a arquitetura Modelo-Template-Visão (MTV), incentivando a reutilização de código e a modularização. Este guia irá orientá-lo passo a passo na criação de uma aplicação Django simples, para que você possa começar rapidamente.
1. Configuração do Ambiente
Primeiro, você precisa garantir que o Python esteja instalado em seu sistema. O Django recomenda o uso do Python 3.6 ou superior.
1.1 Instalação do Python
Se o Python não estiver instalado em seu sistema, você pode baixá-lo e instalá-lo no site oficial do Python.
1.2 Criação de um Ambiente Virtual (Virtual Environment)
Para isolar as dependências entre diferentes projetos, é altamente recomendável o uso de um ambiente virtual.
-
Abra o terminal ou prompt de comando.
-
Crie um diretório de projeto, por exemplo,
myproject:mkdir myproject cd myproject -
Crie e ative o ambiente virtual:
python3 -m venv venv # Ou python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # WindowsApós ativar o ambiente virtual, seu prompt de terminal exibirá
(venv), indicando que você está usando o ambiente virtual.
1.3 Instalação do Django
No ambiente virtual ativado, use o pip para instalar o Django:
pip install Django
Verifique se a instalação foi bem-sucedida:
python -m django --version
Você deverá ver o número da versão do Django.
2. Criação de um Projeto Django
Após instalar o Django, você pode criar um novo projeto Django.
-
Ainda no seu diretório de projeto (
myproject), execute o seguinte comando:django-admin startproject mysiteIsso criará um diretório chamado
mysitedentro do diretóriomyproject, contendo a estrutura de arquivos do projeto Django. -
Entre no diretório
mysite:cd mysite -
A estrutura de diretórios do projeto Django é a seguinte:
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.pymanage.py: Uma ferramenta de linha de comando para gerenciar o projeto Django.mysite/: Um pacote Python que contém as configurações do projeto.__init__.py: Um arquivo vazio que informa ao Python que o diretório deve ser tratado como um pacote Python.settings.py: O arquivo de configuração do projeto, como configurações de banco de dados, modo de depuração, etc.urls.py: Configuração de roteamento de URL, que mapeia URLs para funções de visualização.asgi.py: Arquivo de configuração ASGI (Asynchronous Server Gateway Interface), usado para implantar aplicações assíncronas.wsgi.py: Arquivo de configuração WSGI (Web Server Gateway Interface), usado para implantar aplicações síncronas tradicionais.## 3. Iniciando o Servidor de Desenvolvimento
O Django vem com um servidor de desenvolvimento leve, conveniente para desenvolvimento e testes locais.
-
No diretório
mysite, execute o seguinte comando:python manage.py runserver -
Abra seu navegador e acesse
http://127.0.0.1:8000/. Você deverá ver a página "It worked! Congratulations on your first Django-powered page.".
4. Criando um Aplicativo Django
Um projeto Django pode conter vários aplicativos. Vamos criar um aplicativo chamado myapp.
-
Abra uma nova janela de terminal (mantenha o servidor de desenvolvimento em execução).
-
No diretório
mysite, execute o seguinte comando:python manage.py startapp myappIsso criará um diretório chamado
myappno diretóriomysite, contendo os arquivos de estrutura do aplicativo Django. -
A estrutura de diretórios do aplicativo Django é a seguinte:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: Um arquivo vazio que informa ao Python que o diretório deve ser tratado como um pacote Python.admin.py: Usado para configurar o painel de administração do Django.apps.py: Configuração do aplicativo.migrations/: Usado para gerenciar migrações de banco de dados.models.py: Define modelos de dados (tabelas de banco de dados).tests.py: Escreve casos de teste.views.py: Define funções de visualização, processa solicitações e retorna respostas.
-
Em
mysite/settings.py, adicionemyappà listaINSTALLED_APPS:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # Adicione myapp ]
5. Criando uma Visualização Simples
Agora vamos criar uma visualização simples para exibir "Hello, Django!" no navegador.
-
Edite o arquivo
myapp/views.pye adicione o seguinte código:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Crie um arquivo
myapp/urls.pye mapeie a URL para a função de visualização:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
```
3. Inclua `myapp/urls.py` em `mysite/urls.py`:
```python
from django.urls import include, path
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')), # Adiciona a configuração de URL do myapp
]
```
4. Acesse `http://127.0.0.1:8000/myapp/`. Você deverá ver a página "Hello, Django!".
## 6. Criar um Modelo
Vamos criar um modelo simples para armazenar alguns dados.
1. Edite o arquivo `myapp/models.py`, adicione o seguinte código:
```python
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
```
Isto define um modelo chamado `Question`, contendo dois campos: `question_text` (CharField) e `pub_date` (DateTimeField).
2. Crie e aplique as migrações do banco de dados:
```bash
python manage.py makemigrations myapp
python manage.py migrate
```
O comando `makemigrations` irá criar arquivos de migração baseados no seu modelo, o comando `migrate` irá aplicar as migrações ao banco de dados.
## 7. Usar o Painel de Administração do Django
Django oferece um poderoso painel de administração, que pode facilmente gerenciar seus dados.
1. Crie um superusuário:
```bash
python manage.py createsuperuser
```
Siga as instruções para inserir o nome de usuário, email e senha.
2. Edite o arquivo `myapp/admin.py`, registre o modelo `Question`:
```python
from django.contrib import admin
from .models import Question
admin.site.register(Question)
```
3. Acesse `http://127.0.0.1:8000/admin/`, use o superusuário que você criou para fazer login. Você deverá ver o módulo "Questions", podendo adicionar, editar e remover questões.
## 8. Usar Templates
Usar templates pode gerar páginas HTML de forma mais flexível.
1. No diretório `myapp`, crie um diretório chamado `templates` e, dentro do diretório `templates`, crie um diretório chamado `myapp` ( `myapp/templates/myapp` ).
2. No diretório `myapp/templates/myapp`, crie um arquivo chamado `index.html` e adicione o seguinte código:
```html
Hello, Django!
The current time is: {{ current_time }}
```
3. Edite o arquivo `myapp/views.py` e use o template:
```python
from django.shortcuts import render
import datetime
def index(request):
now = datetime.datetime.now()
return render(request, 'myapp/index.html', {'current_time': now})
```
A função `render` carregará o template e passará os dados para o template para renderização.
4. Reacessa `http://127.0.0.1:8000/myapp/`. Você deverá ver a página contendo a hora atual.
## 9. Conclusão
Através deste guia, você aprendeu os conceitos básicos e métodos de uso do Django, incluindo a configuração do ambiente, criação de projetos e aplicativos, definição de modelos, criação de visualizações e uso de templates. Este é apenas o começo, o Django oferece uma riqueza de funcionalidades, você pode continuar aprendendo e explorando para construir aplicações Web mais complexas.





