@@ -10,19 +10,24 @@ Category: Python, Django, REST
10
10
11
11
Eu resolvi estudar um pouco mais de [ DRF] [ 0 ] depois do tutorial do [ Hugo Brilhante] [ 1 ] na [ Python Brasil 11] [ 2 ] .
12
12
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:
14
16
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.
16
24
17
25
** Obs** : * Tem coisas que é melhor nem traduzir. ;)*
18
26
19
27
* 0 - [ Quickstart] [ 10 ]
20
28
* 1 - ** Serialization**
21
29
* 2 - Requests & Responses
22
30
* 3 - Class based views
23
- * 4 - Authentication & permissions
24
- * 5 - Relationships & hyperlinked APIs
25
- * 6 - Viewsets & routers
26
31
27
32
Pra quem não sabe, para usar API Web usamos REST, no caso, [ Django Rest Framework] [ 0 ] , framework web do [ Django] [ 3 ] .
28
33
@@ -42,10 +47,10 @@ Então para criar a API, no meu caso, eu usei:
42
47
## Configurando um novo ambiente
43
48
44
49
``` bash
45
- $ virtualenv -p python3 .venv
50
+ $ python3 -m venv .venv
46
51
$ source .venv/bin/activate
47
52
$ 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
49
54
$ pip install django-filter drf-nested-routers
50
55
$ pip freeze > requirements.txt
51
56
$ django-admin.py startproject myproject .
@@ -55,11 +60,15 @@ $ python manage.py startapp core
55
60
Veja o meu requirements.txt
56
61
57
62
``` 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
62
70
```
71
+
63
72
## Step-0 Projeto inicial
64
73
65
74
Abra o arquivo ` settings.py ` e em ` INSTALLED_APPS ` acrescente
@@ -344,21 +353,24 @@ def person_detail(request, pk):
344
353
Agora, vamos criar as urls. Crie um novo arquivo ` core/urls.py ` .
345
354
346
355
``` python
347
- from django.conf. urls import url
356
+ from django.urls import path
348
357
from core import views
349
358
350
359
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() ),
353
362
]
354
363
```
355
364
356
365
E acrescente a seguinte linha em ` myproject/urls.py ` .
357
366
358
367
``` python
368
+ from django.urls import include, path
369
+ from django.contrib import admin
370
+
359
371
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),
362
374
]
363
375
```
364
376
0 commit comments