Skip to content

Commit 20ad06b

Browse files
committed
DRF Serialization atualizado
1 parent 665d3eb commit 20ad06b

File tree

1 file changed

+28
-16
lines changed

1 file changed

+28
-16
lines changed

content/django-rest-framework-serialization.md

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,24 @@ Category: Python, Django, REST
1010

1111
Eu resolvi estudar um pouco mais de [DRF][0] depois do tutorial do [Hugo Brilhante][1] na [Python Brasil 11][2].
1212

13-
> **Obs**: se você não sabe Django sugiro que leia este [tutorial][4] antes.
13+
> Este artigo foi atualizado em 14 de Fevereiro de 2018.
14+
15+
Este artigo está usando:
1416

15-
Este tutorial é a parte 1/6 de uma série de posts sobre DRF.
17+
* Python 3.5.2
18+
* Django 2.0.2
19+
* djangorestframework 3.7.7
20+
21+
Favor clonar o projeto do [GitHub](https://github.com/rg3915/drf#clonando-o-projeto), favor ler o README para instalação.
22+
23+
> **Obs**: se você não sabe Django sugiro que leia este [tutorial][4] antes.
1624
1725
**Obs**: *Tem coisas que é melhor nem traduzir. ;)*
1826

1927
* 0 - [Quickstart][10]
2028
* 1 - **Serialization**
2129
* 2 - Requests & Responses
2230
* 3 - Class based views
23-
* 4 - Authentication & permissions
24-
* 5 - Relationships & hyperlinked APIs
25-
* 6 - Viewsets & routers
2631

2732
Pra quem não sabe, para usar API Web usamos REST, no caso, [Django Rest Framework][0], framework web do [Django][3].
2833

@@ -42,10 +47,10 @@ Então para criar a API, no meu caso, eu usei:
4247
## Configurando um novo ambiente
4348

4449
```bash
45-
$ virtualenv -p python3 .venv
50+
$ python3 -m venv .venv
4651
$ source .venv/bin/activate
4752
$ mkdir drf; cd drf
48-
$ pip install django==1.9.5 djangorestframework==3.3.3
53+
$ pip install django==2.0.2 djangorestframework==3.7.7
4954
$ pip install django-filter drf-nested-routers
5055
$ pip freeze > requirements.txt
5156
$ django-admin.py startproject myproject .
@@ -55,11 +60,15 @@ $ python manage.py startapp core
5560
Veja o meu requirements.txt
5661

5762
```bash
58-
Django==1.9.5
59-
django-filter==0.11.0
60-
djangorestframework==3.3.3
61-
drf-nested-routers==0.10.0
63+
dj-database-url==0.4.2
64+
Django==2.0.2
65+
django-extensions==1.9.9
66+
django-filter==1.1.0
67+
djangorestframework==3.7.7
68+
drf-nested-routers==0.90.0
69+
python-decouple==3.1
6270
```
71+
6372
## Step-0 Projeto inicial
6473

6574
Abra o arquivo `settings.py` e em `INSTALLED_APPS` acrescente
@@ -344,21 +353,24 @@ def person_detail(request, pk):
344353
Agora, vamos criar as urls. Crie um novo arquivo `core/urls.py`.
345354

346355
```python
347-
from django.conf.urls import url
356+
from django.urls import path
348357
from core import views
349358

350359
urlpatterns = [
351-
url(r'^persons/$', views.person_list),
352-
url(r'^persons/(?P<pk>[0-9]+)/$', views.person_detail),
360+
path('persons/', views.PersonList.as_view()),
361+
path('persons/<int:pk>/', views.PersonDetail.as_view()),
353362
]
354363
```
355364

356365
E acrescente a seguinte linha em `myproject/urls.py`.
357366

358367
```python
368+
from django.urls import include, path
369+
from django.contrib import admin
370+
359371
urlpatterns = [
360-
url(r'^', include('core.urls')),
361-
url(r'^admin/', include(admin.site.urls)),
372+
path('', include('core.urls')),
373+
path('admin/', admin.site.urls),
362374
]
363375
```
364376

0 commit comments

Comments
 (0)