huogerac / guia-para-aprender-django

22 stars 1 forks source link

Parte 1) Fazendo o Olá mundo #1

Open huogerac opened 2 years ago

huogerac commented 2 years ago

👉 Deixe um comentário, não importa se é dúvida, crítica ou sugestão! Vamos discutir aqui tudo que for possível sobre a Parte 1) Fazendo o Olá mundo usando Django

É muito importante que você não fique com dúvidas!

huogerac commented 2 years ago
$ tree
├── db.sqlite3
├── manage.py
├── ola_mundo_django
│   ├── asgi.py
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   ├── views.py
│   └── wsgi.py
└── templates
    └── ola_mundo.html
#urls.py
from django.contrib import admin
from django.urls import path
from . import views 

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.ola_mundo),
]
#views.py
from django.http import HttpResponse
from django.shortcuts import render

def ola_mundo(request):
    # Responde um texto dentro do HTTP
    #return HttpResponse("Ola mundo")

    # Responde um arquivo HTML gerado pelo Django
    texto = "Olá Mundo!!!!! " * 4
    return render(request, "ola_mundo.html", {"texto": texto})
#settings.py
import os
from pathlib import Path

...

TEMPLATES = [
    {
        ...
        'DIRS': [
            os.path.join(BASE_DIR, './templates'),
        ],
        ...
    },
]
GloBrito commented 2 years ago

TypeError at /

context must be a dict rather than tuple.
Request Method: | GET -- | -- http://127.0.0.1:8000/ 4.0.5 TypeError context must be a dict rather than tuple. /home/gloriabrito/.local/lib/python3.8/site-packages/django/template/context.py, line 278, in make_context /usr/bin/python 3.8.10 ['/home/gloriabrito/Área de Trabalho/buser/django-pratica/ola_mundo_django', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/gloriabrito/.local/lib/python3.8/site-packages', '/usr/local/lib/python3.8/dist-packages', '/usr/lib/python3/dist-packages'] Mon, 27 Jun 2022 15:09:21 +0000
huogerac commented 2 years ago

Passa o código da views.py

GloBrito commented 2 years ago

Funcionou. Era uma vírgula após a chave do dicionário na views.py. Obrigada!!

lukemariano commented 2 years ago

Conteúdo extra de Python:

Como bagunçar uma lista em python:

import random

mylist = ["apple", "banana", "cherry"]
random.shuffle(mylist)

print(mylist)

Como escolher dois itens aleatórios de uma lista:

import random

mylist = ["apple", "banana", "cherry"]
print(random.choices(mylist,  k = 2))

-----> onde K é o número de elementos a serem selecionados na lista;

Parte 1 - Criando uma pasta para os exercícios:

Dica:

Primeiro passo:

Parte 2 - Criando nosso ambiente virtual:

Criando um ambiente virtual para utilizar o Django:

Parte 3 - Instalando o Django pelo ambiente virtual:

Passo 1:

Parte 4 - Utilizando o Django-Admin:

Criando a pasta do projeto com subcomandos do Django-Admin:

Parte 5 - Utilizando o manage.py

Utilizando o manage.py:

----> Disclaimer: Pode ser que nessa etapa ocorra um erro relacionado ao "MIGRATIONS" do Django, mas não se desespere! Basta apenas digitar o comando que será exibido no terminal colorido de vermelho para instalar as dependências do banco de dados do Django e rodar o comando do manage.py novamente.

Parte 6 - Template do HTML Django:

Criando nosso HTML no Django:

Como configurar o settings.py para que assim o Django encontre nossa pasta 'templates' com nosso HTML:

Parte 8 - Implementando o nosso "OLÁ MUNDO":

Criando e configurando nossa primeira view.py:

Parte 9 - Configurando o módulo urls.py para acessar nossa view (ETAPA FINAL):

Views e URLs:

urlpatterns = [ path('admin/', admin.site.urls), path('', views.ola_mundo), ]


* Para finalizar, basta rodar o comando ```./manage.py runserver``` no terminal novamente e acessar nossa aplicação Django pelo ip gerado.