From e0f14ab2eaa054622e345a4a6169c73ba265c9f0 Mon Sep 17 00:00:00 2001 From: Julio Biason Date: Fri, 17 Jun 2016 15:58:52 -0300 Subject: [PATCH] django rest --- _images/django-rest.png | Bin 0 -> 41532 bytes django-rest.html | 262 ++++++++++++++++++++++++++++++++++++++++ django.html | 49 ++++---- index.html | 5 + 4 files changed, 290 insertions(+), 26 deletions(-) create mode 100644 _images/django-rest.png create mode 100644 django-rest.html diff --git a/_images/django-rest.png b/_images/django-rest.png new file mode 100644 index 0000000000000000000000000000000000000000..73de34f4b807ec5349a1e0850a7d44a7bf9ff96e GIT binary patch literal 41532 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 + + + + + + Entendendo DJANGO + + + + + + + + + + + + + + + + + + + + + + + + + +

+
+
+

Entendendo Django REST Framework

+
+ +
+
+

Review Django

+ +
    +
  • Request de um browser chega no Django;
  • +
  • Consulta o urls.py base do projeto para encontrar o + que será executado;
  • +
  • Consulta o urls.py da app (no caso) para encontrar + a view que será executada;
  • +
  • Encontra a view dentro da app, que busca as informações no model;
  • +
  • Renderiza o template;
  • +
  • Retorna o template renderizado para o usuário.
  • +
+
+
+ +
+
+

Interlúdio: REST

+ + +
+ +
+

REST: Recursos

+ +

Elementos são chamados "recursos" e fazem parte da URL.

+ +
    +
  • Recurso usuários: /user;
  • +
  • Recurso orders: /order;
  • +
  • Recurso produtos: /product
  • +
+
+ +
+

REST: Recursos

+ +

Recursos específicos são indicados também na URL depois + da URL base do recurso, apontados por sua chave principal.

+ +
    +
  • Usuário 1: /user/1/
  • +
  • Produto ws-1243: /product/ws-1243/
  • +
+
+ +
+

REST: Recursos

+ +

Recursos podem estar aninhados.

+ +
    +
  • /user/1/order: Todos os pedidos do usuário 1.
  • +
  • /user/1/order/2: Pedido 2 do usuário 1.
  • +
+
+ +
+

REST: Verbos/Ações

+ +

Ações sobre os recursos são indicadas pelo verbo HTTP:

+ +
    +
  • GET: Recupera recursos;
  • +
  • POST: Cria recursos;
  • +
  • PUT: Altera (update) recursos;
  • +
  • DELETE: Apaga recursos;
  • +
  • PATCH: Altera recursos.
  • +
+
+ +
+

REST: Verbos

+ + + + + + + + + + + + + +
 Base recursoRecurso específico
GETTodos os elementos do recursoDados do recurso específico
+
+ +
+

REST: Verbos

+ + + + + + + + + + + + + +
 Base recursoRecurso específico
POSTCria um recurso novoNão usado, mas poderia criar um recurso com a cahve indicada
+
+ +
+

REST: Verbos

+ + + + + + + + + + + + +
 Base recursoRecurso específico
PUTNão usadoAtaliza o registro inteiro do recurso
+
+ +
+

REST: Verbos

+ + + + + + + + + + + + + +
 Base recursoRecurso específico
DELETENão usado, mas poderia apagar todos os recursosApaga o recurso
+
+ +
+

REST: Verbos

+ + + + + + + + + + + + + +
 Base recursoRecurso específico
PATCHNão usadoAtualiza campos específicos do recurso
+
+ +
+

REST: Exemplos

+ +
    +
  • GET /user: Retorna todos os usuários do sistema.
  • +
  • POST /order: Cria um novo pedido.
  • +
  • DELETE /user/1/order/2: Apaga o pedido 2 do usuário 1.
  • +
+
+
+ +
+
+

De volta ao REST Framework

+ + +
+
+
+
+ + + + + + + + diff --git a/django.html b/django.html index 19dde38..8a7bfc5 100644 --- a/django.html +++ b/django.html @@ -54,7 +54,7 @@

"Projeto" é como Django chama a base do sistema.

-

Criado com django-admin startproject [PROJECT].

+

Criado com django-admin startproject [PROJECTNAME] ..

@@ -69,10 +69,6 @@ │   └── wsgi.py └── manage.py - -

- manage.py vira o gerenciador do projeto. -

@@ -83,11 +79,12 @@

Dentro do projeto, para criar um app: -

+

-

- python manage.py startapp [app] -

+

+cd exemplo
+django-admin startapp [app]
+						
@@ -97,23 +94,23 @@

-    .
-    ├── exemplo
-    │   ├── __init__.py
-    │   ├── __init__.pyc
-    │   ├── settings.py
-    │   ├── settings.pyc
-    │   ├── urls.py
-    │   └── wsgi.py
-    ├── manage.py
-    └── products
-        ├── admin.py
-        ├── __init__.py
-        ├── migrations
-        │   └── __init__.py
-        ├── models.py
-        ├── tests.py
-        └── views.py
+
+.
+├── manage.py
+└── exemplo
+    ├── __init__.py
+    ├── products
+    │   ├── admin.py
+    │   ├── apps.py
+    │   ├── __init__.py
+    │   ├── migrations
+    │   │   └── __init__.py
+    │   ├── models.py
+    │   ├── tests.py
+    │   └── views.py
+    ├── settings.py
+    ├── urls.py
+    └── wsgi.py
                         
diff --git a/index.html b/index.html index 7e925ee..edd0d9d 100644 --- a/index.html +++ b/index.html @@ -104,6 +104,11 @@ ul.inline-list li {
Ententendo Django + +
  • +
    + Django REST Framework +