Projeto de uma RESTful API em Python com framework Django Rest Framework.
Obs.:
- Em relação ao projeto original "Api_Todo" equivale a "app", e "Tasks" a "api".
- Pode ser necessário renomear o diretório raiz para "Tasks" para executar o projeto.
pip install django
pip install djangorestframework
pip install markdown # Suporte Markdown para a API navegável
pip install django-filter # Suporte de filtragem
django-admin startproject Tasks .
# cria projeto Django com nome "Tasks"python manage.py makemigrations
# cria alterações no banco de dados de acordo com modificações das modelspython manage.py migrate
# aplica as migrationspython manage.py runserver
# executa a aplicação
Criar aplicação:
- Criar projeto no PyCharm ou com ou
django-admin startproject Tasks .
- Caso a pasta "Tasks" ou "app" não tenha sido criado, use
python manage.py startapp Tasks
oupython manage.py startapp app
- Em Tasks > settings.py > INSTALLED_APPS, adicionar 'rest_framework', e também 'Api_Todo.apps.ApiTodoConfig', caso não esteja adionado.
- Em Api_Todo > models.py, criar classe Task com seus devidos campos.
- Em Api_Todo criar serializers.py, e a classe TaskSerializer dentro deste arquivo.
- Em Api_Todo > views.py, criar um método para tratar GET e POST.
- Em Api_Todo > urls.py, adicionar caminho para a função criada anteriormente.
- Em Tasks > urls.py, adicionar a rota 'todo/'.
- Em Api_Todo > views.py, criar uma função task_detail_update_delete_id para tratar get, put, delete por id.
- Em Api_Todo > urls.py, adicionar uma rota para a nova função de view.
- Criar migrations com
python manage.py makemigrations
. - Aplicar migrations com
python manage.py migrate
. - Executar a aplicação pelo PyCharm ou com python manage.py runserver.
Adicionando versão 2 da api:
- Em Api_Todo > views.py, criar duas classes que herdam de APIView e implementam seus métodos.
- Em Api_Todo > urls.py, adicionar rotas para estas classes e adicionar o prefixo da versão (v2).
Adicionando versão 3 da api:
- Em Api_Todo > views.py, criar uma classe que herda de viewsets.ModelViewSet e defina queryset e serializer_class.
- Em Api_Todo > urls.py, adicionar rotas para esta classe com DefaultRouter e adicionar o prefixo da versão (v3).
Udemy - Aprenda Django REST Framework do Zero: https://www.udemy.com/course/aprenda-django-rest-framework-do-zero/