Django é um poderoso framework web de código aberto, baseado em Python, que simplifica o processo de criação e gerenciamento de sites e aplicativos web. Os aplicativos Django são escaláveis, de alto desempenho e seguros. Ele também vem com uma documentação muito boa sobre cada parte do framework.
Em nossa série sobre o Django, temos explorado o Django implementando um site de exemplo com recursos básicos de blog. Neste guia, passaremos pelas etapas de criação de uma view de exemplo para o nosso aplicativo Django.
Pré-requisitos
Para seguir este guia, você precisará dos seguintes componentes.
- Um Ubuntu servidor com as configurações adequadas. Saiba mais sobre configurar um servidor Ubuntu.
- Ambiente de desenvolvimento Python adequadamente configurado.
- Um servidor de banco de dados, por exemplo, MySQL. Este guia detalha a instalação e configuração do MySQL em um servidor Ubuntu.
Este guia é uma continuação da nossa série sobre o Django. Primeiro, será útil dar uma olhada nos guias anteriores sobre configuração do Django, estabelecimento de conexão com o banco de dados do Django, criação de modelos, e ativação da Interface de Administração do Django.
Neste guia, mostraremos como criar views do Django que permitirão ao aplicativo web lidar adequadamente com requisições web e retornar a resposta apropriada. Conforme descrito pela documentação oficial do Django, uma resposta web pode ser o conteúdo HTML de uma página web, um redirecionamento ou um erro HTTP. Não há um local fixo para armazenar as funções de view, desde que estejam dentro dos caminhos do Python. No entanto, existem convenções populares para nomear e posicionar os arquivos. Este guia seguirá essas convenções.
Passo 1. Ativando o Ambiente Virtual
O Django funciona melhor dentro de um ambiente virtual Python. Nosso aplicativo Django sample_app está estabelecido dentro de um ambiente virtual dedicado. Primeiro, active o ambiente virtual:
|
1 2 3 |
cd sample_app/ . sample_app_env/bin/activate |
Passo 2. Criando Funções de View
Navegue até o nosso diretório random_app que hospeda os modelos para o nosso site de blog:
|
1 |
cd random_app/ |
Aqui, o arquivo views.py conterá os códigos necessários para criar nossas views. Abra-o em um editor de texto:
|
1 |
nano views.py |

Precisamos da função render() da biblioteca django.shortcuts , então a primeira linha permanece a mesma. A função render() function ajuda a combinar um template e um contexto para serem retornados como o objeto HttpResponse adequado.
A primeira view dará as boas-vindas aos usuários que chegarem à página inicial. Teremos que importar a função HttpResponse() da biblioteca Django http:
|
1 2 3 4 5 6 7 8 |
from django.shortcuts import render from django.http import HttpResponse def index(request): return HttpResponse(Você chegou à página de boas-vindas') def individual_post(request): return HttpResponse('Posts individuais aparecerão aquihere') |

Salve o arquivo e feche o editor.
Passo 3. Mapeando URLs para Views
No momento, não há URL designada para essas funções, portanto elas estão inacessíveis. Precisamos adicionar outro bloco urlpatterns dentro do arquivo de configuração de URL. Em Python, ele é chamado de arquivo URLconf (configuração de URL).
O Django precisa determinar o módulo raiz URLconf a ser usado. Em seguida, ele procurará em urlpatterns que contém todos os padrões de URL em uma estrutura de lista. O Django então percorre o arquivo até encontrar a primeira correspondência. Assim que encontrar uma correspondência, o Django procurará por sua view associada. Esta função de view receberá dados relacionados ao padrão de URL e um objeto HttpRequest . Qualquer erro em qualquer ponto desse processo o redirecionará para uma view de tratamento de erros.
Abra o arquivo urls.py de random_app em um editor de texto:
|
1 |
nano urls.py |
Insira o seguinte código:
|
1 2 3 4 5 6 7 |
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('post/', views.individual_post, name='individual_post') ] |

Salve o arquivo e feche o editor.
Depois de concluído, também teremos que incluir o caminho do arquivo de URL no sample_app , no URLconf. Caso contrário, nosso aplicativo Django não o reconhecerá. Isso ocorre porque o URLconf do sample_app está definido como o ROOT_URLCONF no arquivo de configurações.
Navegue até o diretório do nosso aplicativo sample_app:
|
1 |
cd sample_app/sample_app/sample_app/ |
![]()
Abra o arquivo urls.py em um editor de texto:
|
1 |
nano urls.py |

Insira o seguinte código no arquivo:
|
1 2 3 4 5 6 7 |
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('', include('random_app.urls')) ] |

Vamos testar nossas alterações. Inicie o servidor do aplicativo Django em localhost:8000:
|
1 |
python manage.py runserver localhost:8000 |

Navegue até a URL:
|
1 |
localhost:8000 |

Verifique a URL para o post:
|
1 |
localhost:8000/posts |
Passo 4. Criando um Post no Blog
Estabelecemos nossos padrões de URL e investigamos seus fluxos de trabalho. É hora de adicionar um blog de exemplo e ver o resultado.
A partir do painel de administração, navegue até a página do random_app :
|
1 |
localhost:8000/admin/random_app/ |

Clique no link +Add na linha Posts :

Na nova página da web, será apresentado um formulário composto pelos seguintes campos.
- Título: O título do post do blog.
- Slug: Refere-se à parte do endereço web válido com palavras-chave legíveis por humanos. Geralmente, os slugs são criados a partir do título do post.
- Conteúdo: Corpo do post do blog.
- Autor: O nome de usuário correspondente.
Clique em SAVE para enviar o post:

Passo 5. Exibindo os Dados no Banco de Dados
Nesta próxima seção, trabalharemos com nosso banco de dados. Faça login no MySQL como o usuário dedicado ao Django:
|
1 |
mysql -u sample_app_user -p |

Vamos verificar se nosso post foi registrado com sucesso no banco de dados:
|
1 |
USE sample_app_data; |

|
1 |
SELECT * FROM random_app_post; |

Voilá! O post foi registrado com sucesso! Agora você pode sair do shell do MySQL.
Passo 6. Ajustes Adicionais na View
Há mais algumas coisas que podemos fazer com nossas views. Abra o arquivo em um editor de texto:
|
1 |
nano views.py |
O código deve ficar assim:
|
1 2 3 4 5 6 7 8 9 10 |
from django.shortcuts import render from django.http import HttpResponse from .models import Post def index(request): return HttpResponse('Olá, bem-vindo à página inicial.') def individual_post(request): recent_post = Post.objects.get(id__exact=1) return HttpResponse(recent_post.title + ': ' + recent_post.content) |

Aqui, adicionamos uma instrução import adicional para Post também é substituída por dados do nosso post do blog. Para referenciar os dados, estamos usando o ID do post do blog com o objeto associado. O ID está sendo armazenado em uma variável HttpResponse também é substituída por dados do nosso post do blog. Para referenciar os dados, estamos usando o ID do post do blog com o objeto associado. O ID está sendo armazenado em uma variável recent_post. Agora, podemos extrair campos específicos do objeto anexando o campo com um separador de ponto.
Depois de alterado, vamos verificar as alterações. Inicie o servidor Django:
|
1 |
python manage.py runserver localhost:8000 |

Agora, acesse a página Posts :
|
1 |
localhost:8000/posts |

Deve mostrar o post do blog que criamos.
Passo 7. Saindo do Projeto
Para sair do servidor Django, pressione Ctrl + C a partir do terminal. Para desativar o ambiente virtual Python, execute o seguinte comando:
|
1 |
deactivate |
Considerações Finais
Neste guia, demonstramos com sucesso a criação de views, o mapeamento de padrões de URL e a exibição de textos em uma página web a partir do banco de dados de random_app no Django.Estes são conceitos fundamentais do Django que são necessários compreender e dominar.
Aqui estão mais recursos para ajudar você a criar e gerenciar aplicativos Django:
- Criando um Aplicativo Django com Conexão de Banco de Dados: Um Tutorial
- Construindo uma Aplicação Django e Gunicorn com Docker no Ubuntu
- Como Proteger e Dimensionar uma Aplicação Django com Docker, Nginx e Let’s Encrypt
Boa computação!

Comentários
Nenhum comentário ainda. Seja o primeiro.