image

Access unlimited bootcamps and 650+ courses forever

60
%OFF
Article image
Leandro Duarte
Leandro Duarte18/08/2023 08:22
Share

Hello World com Django

  • #Django
  • #Python

Introdução

Eu sei que você já ouviu falar desse belíssimo framework e tenha tido no mínimo uma curiosidadezinha para entender como ele realmente funciona. Nesse post nós iremos partir do absoluto ZERO.

Requisitos

Definiremos os requisitos, mas antes de você começar a suar as mãos achando que talvez você não seja apto, calma! Os requisitos são para o seu computador e ambiente de desenvolvimento!

1º Preparar nosso ambiente de desenvolvimento:

  • Aqui nós simplesmente vamos fazer o que normalmente fazemos em cada projeto Python! Vamos criar um diretório principal e criarmos o nosso Ambiente Virtual. Para isso, esteja no diretório que você quer iniciar o seu projeto e no terminal digite:
python -m venv env

Feito isso, basta dar:

Linux
source ./env/bin/activate
Windows
./env/bin/activate.ps1

2º Instalar o Django nesse novo Ambiente Virtual

  • Aqui nós iremos fazer a instalação de django através do gerenciador de pacotes do python pip. Basta digitarmos no terminal:
pip install django

3º Iniciarmos um Projeto Django

  • Vamos então dar inicio ao nosso novo projeto em Django, o primeiro de muitos! Basta no mesmo terminal digitar:
django-admin startproject nome_do_projeto .

Agora, o Django deve ter criado uma estrutura parecida com essa abaixo:

nome_do_projeto/
  __init__.py
  settings.py
  urls.py
  asgi.py
  wsgi.py
manage.py

E você está a um passo de dar início ao desenvolvimento Web, mas ainda temos algumas pendências, configurações que precisamos fazer.

Iniciando o primeiro Aplicativo

Espera, mas nós já não tínhamos feito o nosso aplicativo no passo anterior?

Na verdade não! O que nós fizemos anteriormente é a criação de um projeto. Um projeto em Django nada mais é do que um amontoado de configurações e aplicativo. Entenda que com Django você pode ter várias aplicações rodando em um mesmo projeto e essa é a beleza da coisa! Na própria documentação do Django há essa explicação e eu vou deixá-la para que você possa entender melhor!

Diferença entre app x projeto -> Qual é a diferença entre um projeto e um aplicativo? Um aplicativo é um aplicativo da web que faz algo – por exemplo, um sistema de blog, um banco de dados de registros públicos ou um pequeno aplicativo de pesquisa. Um projeto é uma coleção de configurações e aplicativos para um determinado site. Um projeto pode conter vários aplicativos. Um aplicativo pode estar em vários projetos.

Agora que estamos entendido entre a diferença de app x projeto nós iremos então finalmente dar inicio a nossa aplicação. Precisamos entender que nossa aplicação tem que possuir um diretório no mesmo local que o arquivo manage.py

python manage.py startapp nome_app

Feito o comando agora nós temos algo bem interessante aqui. Temos uma estrutura completa de um projeto e outra estrutura completa de nosso aplicativo. A documentação recomenda alguns passos antes de fazer o que iremos. Mas eu acredito que seja fundamental que a cada novo aplicativo você faça isso. Vá para a pasta do seu nome_do_projeto/settings.py e procure pela variável INSTALLED_APPS. Nela você vai adicionar a seguinte str:

INSTALLED_APPS = [
  "**nome_app**",
  'django.contrib.admin',
  ...
]

E agora fizemos então a integração do nosso app ao nosso projeto! Quero que toda vez que você dar um startapp você volte e faça isso!

Criando a primeira view

É importante entendermos que cada URL que o usuário acessar ele precisa ver algo não é? Talvez apresentar uma imagem, um post de blog ou quem sabe nós queiramos apenas deixar uma mensagem para algum visitante daquela URL. Na view, nós vamos definir o que acontecerá quando o usuário acessar uma determinada URL. Aqui eu não quero que você se preocupe em como será a sua URL, apenas no que aparecerá ao usuário.

Partindo dessa lógica, vamos abrir o arquivo nome_app/views.py e vamos criar fazer o seguinte import:

from django.shortcuts import render, HttpResponse

E logo em seguida vamos criar uma função chamada index que vai retornar um HttpResponse

def index(request):
  return HttpResponse("Olá, Mundo!")

Pronto, criamos nossa view! E agora, como eu consigo que meu usuário veja essa view?

Criando URLs dos aplicativos e das views

Aqui há um ponto muito importante a ser feito! É a criação das nossas URLS e você precisa separar esse processo em duas etapas:

1º Criando a URL do nosso app

Cada app precisa ter uma url própria! E para isso precisamos ir em nome_do_projeto/urls.py e inserir dois novos elemento:

from django.urls import path, include
urlpatterns = [
  path('admin/', admin.site.urls),
  path("nome_app", include("nome_app.urls", namespace="nome_app"))
]

Com isso nós fizemos a integração do nosso aplicativo ao nosso projeto e agora todas as urls de nosso aplicativo terão um .../nome_app/.... Isso é importante tendo em vista que nós queremos que cada aplicativo seja único e diferenciável! Isso ajuda até mesmo no clean code e futuros debugs.

2º Criando a URL para nossa primeira view

Lembra que nós criamos a primeira view mas eu te pedi para não se preocupar em como o usuário acessasse aquela view? Agora eu vou te pedir o oposto! Vamos criar então um endereço único para essa view a fim de aprendizagem, e claro, para que você possa realmente dizer: EU CRIEI O MEU PRIMEIRO SITE COM DJANGO. Para isso, basta criar um arquivo na raiz do seu nome_app chamado urls.py. Dentro do seu arquivo escreva:

from django.urls import path
from . import views

app_name = "nome_app"

urlpatterns = [
  path("/index", views.index, name="index")
]

E agora pronto! Tudo conectado e perfeitamente solidificado! Você criou o seu primeiro site com Django e tem uma rota única para acessar um Olá Mundo

Basta digitar no terminal:

python manage.py runserver

Feito isso, clique no link gerado pelo seu terminal e acrescente:

Ex:

http://127.0.0.1:8000/nome_app/index

Foi capaz de ver o seu Hello World? Então meus parabéns! Daqui para frente, você só tem a crescer! Há muito mais coisas e possibilidades que você pode e deve fazer! Mas eu espero ter ajudado!

Se quer mais tutoriais básicos ou até mesmo avançados, deixe seu comentário que podemos prosseguir com o nosso projeto e quem sabe criar uma grande aplicação com Django!

Até logo!!!!!!

Share
Comments (2)
Leandro Duarte
Leandro Duarte - 18/08/2023 10:10

Mil perdões Alessandro, eu nem reparei!


Obrigado por complementar e por contribuir com esse artigo!




Alessandro Junior
Alessandro Junior - 18/08/2023 09:43

Parabéns pelo o artigo. Vou aproveitar o espaço para apenas complementar , no decorrer do artigo você comentou que iria colocar o link da documentação, e por algum equívoco , não o fez .


segue o link :


https://docs.djangoproject.com/en/4.2/