diff --git a/_images/django-rest.png b/_images/django-rest.png
new file mode 100644
index 0000000..73de34f
Binary files /dev/null and b/_images/django-rest.png differ
diff --git a/django-rest.html b/django-rest.html
new file mode 100644
index 0000000..5a1fd87
--- /dev/null
+++ b/django-rest.html
@@ -0,0 +1,262 @@
+
+
+
+
+
+
+ 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 recurso |
+ Recurso específico |
+
+
+
+ GET |
+ Todos os elementos do recurso |
+ Dados do recurso específico |
+
+
+
+
+
+ REST: Verbos
+
+
+
+ |
+ Base recurso |
+ Recurso específico |
+
+
+
+ POST |
+ Cria um recurso novo |
+ Não usado, mas poderia criar um recurso com a cahve indicada |
+
+
+
+
+
+ REST: Verbos
+
+
+
+ |
+ Base recurso |
+ Recurso específico |
+
+
+ PUT |
+ Não usado |
+ Ataliza o registro inteiro do recurso |
+
+
+
+
+
+ REST: Verbos
+
+
+
+ |
+ Base recurso |
+ Recurso específico |
+
+
+
+ DELETE |
+ Não usado, mas poderia apagar todos os recursos |
+ Apaga o recurso |
+
+
+
+
+
+ REST: Verbos
+
+
+
+ |
+ Base recurso |
+ Recurso específico |
+
+
+
+ PATCH |
+ Não usado |
+ Atualiza 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
+