Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jonatandb/task-crud-django-rest-framework-nextjs
Django Rest Framework + NextJS - Tasks CRUD
https://github.com/jonatandb/task-crud-django-rest-framework-nextjs
crud-api django django-rest-framework javascript jonatandb nextjs tasks-manager
Last synced: about 2 months ago
JSON representation
Django Rest Framework + NextJS - Tasks CRUD
- Host: GitHub
- URL: https://github.com/jonatandb/task-crud-django-rest-framework-nextjs
- Owner: Jonatandb
- Created: 2024-05-04T16:14:09.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-08T10:14:37.000Z (8 months ago)
- Last Synced: 2024-05-08T10:45:28.471Z (8 months ago)
- Topics: crud-api, django, django-rest-framework, javascript, jonatandb, nextjs, tasks-manager
- Language: Python
- Homepage:
- Size: 156 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# [Django Rest Framework + NextJS - Tasks CRUD](https://www.youtube.com/watch?v=2yvbLC9Fxkk)
Python backend, Javascript frontend.
---
![Tasks App Preview](Final_Result_Preview.gif)
---
## Installation
Install backend with pip:
```bash
cd backend
pip install -r requirements.txt
```Install frontend with npm:
```bash
cd frontend
pnpm install
```Rename file ```/frontend/.env.example``` to ```/frontend/.env```
## Usage
Start backend server:
```bash
cd backend
py manage.py runserver
```Start frontend server:
```bash
cd frontend
npm run dev
```## Visit NextJS frontend website:
- http://localhost:3000
## Visit Django REST framework backend website:
- http://127.0.0.1:8000
---## [Django REST framework ViewSet](https://www.django-rest-framework.org/api-guide/viewsets/)
ViewSet es un concepto específico de Django REST framework
que implicitamente es un conjunto de vistas.Cada vez que se crea una ruta a un recurso, utilizando su ViewSet, Django REST framework crea completamente el CRUD.
---
## [Django REST framework Actions](https://www.django-rest-framework.org/api-guide/viewsets/#marking-extra-actions-for-routing)
Un _action_ es una ruta específica que se genera y configura para realizar una 'acción' específica diferente (mas compleja o completa) de lo que se hace con las rutas standard provistas por REST.
Se crea dentro de la clase ViewSet del recurso, es un método que tiene que tener el decorador _@action_, el cual entre otras cosas admite que se especifique los métodos HTTP por medio de los cuales se puede ejecutar esta _acción_, por ej. 'POST'.
Dentro, este método, posee la lógica para realizar con el recurso lo que sea necesario, por ej. _Pasar el valor de un campo booleano a otro estado._
Para utilizar/ejecutar este _action_, se debe hacer un POST a la ruta del recurso, poniendo en la URL el nombre del action creado, por ej. _'http://127.0.0.1:8000/api/tasks/1/done/'_. (_**La barra al final es obligatoria.**_)