Skip to content

Instantly share code, notes, and snippets.

@rg3915
Last active April 19, 2024 01:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rg3915/5dcf72eb5693338ac895169b53dd119d to your computer and use it in GitHub Desktop.
Save rg3915/5dcf72eb5693338ac895169b53dd119d to your computer and use it in GitHub Desktop.
Guia básico de conceitos sobre Django - conceitos django - backend vs frontend

Objetivo

Login com CPF e senha

authenticate

Falta login

django-cpf-cnpj

Aluno e Gestor

API REST

Django REST Framework


Roadmap

backend vs frontend

  • Python
  • banco de dados

SELECT * FROM auth_user;

  • Django

    • ORM (Object Relational-Mapping) users = User.objects.all()

    • Padrão MTV

      • Model (ORM)
      • View (controlador)
      • Template (visualização HTML, PDF, CSV)
  • frontend

    • HTML, CSS, Javascript

API REST vs render template

API REST * retornar um JSON num endpoint(url) * métodos idem aos métodos abaixo

render template renderiza um arquivo HTML HTML e CSS

métodos
    * GET     - faz uma requisição e obtem uma resposta
    * POST    - Serve para enviar dados e salvar, por exemplo, Cadastro de usuário, ou login.
    * E também recebe uma resposta.

    Tipos de respostas:
        * 200 OK
        * 201 CREATED
        * 400 BAD REQUEST
        * 404 NOT FOUND
        * 500 INTERNAL SERVER ERROR

    https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Status

O Django renderiza template em HTML
    core/
        templates/
            index.html
        static/
            css/
                style.css
            img/
                imagem01.png

GruPy-SP Abril 2023 | Qual é o limite do Django? | Regis Santos

Assista "A Essência do Django parte 1"

Assista "A história do Javascript"

Assista playlist de Django REST framework

slides https://prezi.com/view/wnYXtL5VDgul4uioQpOC/

Leia o livro Pense Python

models.py

Serve para criar Classes que representam tabelas no banco de dados

class User --> user

views.py

Tem funções que fazem o controle de fluxo entre a requisição, processamento e resposta.

def nome(request):
    template_name = 'index.html'
    return render(request, template_name)

viewsets.py

DRF ou Django Ninja

Tem funções que fazem o controle de fluxo entre a requisição, processamento e resposta.

def nome(request):
    return {'status': 'ok'}

API REST

models.py

class Person(models.Model):
    name = models.CharField(max_length=100)

urls.py

from .views import person_list

url_patterns = [
    path('persons/', person_list)
]

views.py

def person_list(request):
    # Retorna todos os Person.
    persons = Person.objects.all()
    return {'persons': persons}

Estude sobre Orientação a Objetos com Python e herança de classes.

Login

Autenticação: A autenticação verifica a identidade digital do usuário, ou seja, processo de verificação de uma identidade.

Login (autorização): Autorização é quando você entra no sistema de fato.

https://docs.djangoproject.com/en/5.0/topics/auth/default/#how-to-log-a-user-in

Lição de casa

Criar um projeto simples em Django puro

Prazo: Quarta a noite

projeto no Github: github.com/usuario/pessoa

  • Criar um models: Pessoa(models.Models)
  • Habilitar o painel de Admin
  • Renderizar um template:
  • lista de pessoas
  • detalhes de uma pessoa
  • Cadastrar uma pessoa
  • Editar uma pessoa
  • Deletar uma pessoa

DRF rápido e simples

Prazo: Quinta a noite

Assistir videos de DRF


Fazer Login básico

Fazer login simples com username e password.

Prazo: Sexta (durante o dia)

Assistir "A essência do Django parte 2"


Personalizar o User

Prazo: Sexta (a noite)

Vamos fazer na sexta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment