Adcionando Dados

1 0 0
                                        

Agora você pode adicionar dados manualmente à API por meio do site de administração.


Testes.py


Agora vamos criar alguns testes antes de tocarmos no frontend. Este é o procedimento de teste simples do tutorial que referi:


# todos/tests.py


from django.test import TestCase


from .models import Todo




class TodoModelTest(TestCase):



@classmethod


def setUpTestData(cls):


Todo.objects.create(title='first todo')


Todo.objects.create(description='a description here')



def test_title_content(self):


todo = Todo.objects.get(id=1)


expected_object_name = f'{todo.title}'


self.assertEquals(expected_object_name, 'first todo')



def test_description_content(self):


todo = Todo.objects.get(id=2)


expected_object_name = f'{todo.description}'


self.assertEquals(expected_object_name, 'a description here')


Pare o servidor e execute novamente


(backend) $ python manage.py test


Estrutura REST do Django


O primeiro passo seria instalar o Django REST Framework com pipenv


(backend) $ pipenv install djangorestframework


Atualizar configurações.py


# todo_api/settings.py


INSTALLED_APPS = [


'django.contrib.admin',


'django.contrib.auth',


'django.contrib.contenttypes',


'django.contrib.sessions',


'django.contrib.messages',


'django.contrib.staticfiles',



'rest_framework', // new



'todos',


]# new


REST_FRAMEWORK = {


'DEFAULT_PERMISSION_CLASSES': [


'rest_framework.permissions.AllowAny',


]


}



Vamos fazer /api como nosso endpoint (endereço de roteamento) com a extensão <id> como chave primária. Basicamente o objeto estaria em api/<id>.



Começamos atualizando urls.py no nível do projeto, consulte-o em todos app no subdomínio api/.


# todo_api/urls.py


from django.contrib import admin


from django.urls import include, path




urlpatterns = [


path('admin/', admin.site.urls),


path('api/', include('todos.urls')),


]


Em seguida, seguido pelo arquivo urls.py no nível do aplicativo.


(backend) $ touch todos/urls.py


Atualize o urls.py


# todos/urls.py


from django.urls import path



from . import views



urlpatterns = [


path('', views.ListTodo.as_view()),


path('<int:pk>/', views.DetailTodo.as_view()),


]


Django (Backend) + React (Fronend) Tutorial BásicoWhere stories live. Discover now