@@ -10,19 +10,24 @@ Category: Python, Django, REST
1010
1111Eu 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
2732Pra 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
5560Veja 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
6574Abra o arquivo ` settings.py ` e em ` INSTALLED_APPS ` acrescente
@@ -344,21 +353,24 @@ def person_detail(request, pk):
344353Agora, 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
348357from core import views
349358
350359urlpatterns = [
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
356365E 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+
359371urlpatterns = [
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