Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ledsouza/django-api-rest-framework-crud
O objetivo principal é o aprendizado prático dos conceitos básicos do framework, incluindo a criação de endpoints para os métodos HTTP mais comuns (GET, POST, PUT, PATCH, DELETE), definição de endpoints personalizados para filtros específicos de dados e implementação de autenticação para acesso restrito à API.
https://github.com/ledsouza/django-api-rest-framework-crud
django django-rest-framework postman python
Last synced: about 2 months ago
JSON representation
O objetivo principal é o aprendizado prático dos conceitos básicos do framework, incluindo a criação de endpoints para os métodos HTTP mais comuns (GET, POST, PUT, PATCH, DELETE), definição de endpoints personalizados para filtros específicos de dados e implementação de autenticação para acesso restrito à API.
- Host: GitHub
- URL: https://github.com/ledsouza/django-api-rest-framework-crud
- Owner: ledsouza
- Created: 2024-06-03T19:33:14.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-06-04T12:59:31.000Z (7 months ago)
- Last Synced: 2024-06-04T14:26:32.893Z (7 months ago)
- Topics: django, django-rest-framework, postman, python
- Language: Python
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Django REST Framework API - CRUD Básico
![Static Badge](https://img.shields.io/badge/Status-Finalizado-green)### Descrição
Este projeto é uma API REST desenvolvida com Django REST Framework como parte do curso da Alura. O objetivo principal é o aprendizado prático dos conceitos básicos do framework, incluindo a criação de endpoints para os métodos HTTP mais comuns (GET, POST, PUT, PATCH, DELETE), definição de endpoints personalizados para filtros específicos de dados e implementação de autenticação para acesso restrito à API.
### Tecnologias Utilizadas
* Python
* Django
* Django REST Framework
* Postman### Descrição Detalhada
Este projeto demonstra a construção de uma API RESTful utilizando o framework Django REST, abordando os seguintes aspectos:
**Funcionalidades:**
* **Endpoints básicos:** Implementa endpoints para os métodos HTTP GET, POST, PUT, PATCH e DELETE, permitindo operações CRUD (Criar, Ler, Atualizar e Deletar) em recursos da API.
* **Endpoints personalizados:** Implementa endpoints personalizados para fornecer filtros específicos aos dados, como:
* Obter os cursos em que um determinado aluno está matriculado.
* Obter os alunos que estão matriculados em um determinado curso.
* **Autenticação:** Implementa autenticação para garantir que apenas usuários autenticados acessem os recursos da API.
* **Testes:** Utiliza Postman para testar os endpoints da API, validando as requisições e respostas.**Estrutura do Projeto:**
O projeto segue a estrutura padrão de um projeto Django, com os seguintes componentes principais:
* **`models.py`:** Define os modelos de dados da aplicação, representando as entidades e seus relacionamentos.
* **`serializers.py`:** Define os serializers, responsáveis por converter os dados dos modelos para o formato JSON e vice-versa.
* **`views.py`:** Define as views da API, que processam as requisições HTTP e retornam as respostas apropriadas.
* **`urls.py`:** Define as URLs da API, mapeando-as para as views correspondentes.**Configurações:**
O projeto utiliza as configurações padrão do Django REST Framework, com algumas personalizações para autenticação e permissões.
**Como Executar o Projeto:**
1. Clone este repositório.
2. Crie um ambiente virtual e ative-o.
3. Instale as dependências do projeto com o comando `poetry install`.
4. Aplique as migrações do banco de dados com os comandos `python manage.py makemigrations` e `python manage.py migrate`.
5. Inicie o servidor de desenvolvimento com o comando `python manage.py runserver`.**Observações:**
Este projeto foi desenvolvido para fins de aprendizado e pode ser utilizado como base para outros projetos. No entanto, é importante adaptá-lo às necessidades específicas de cada aplicação.