DEV Community

loizenai
loizenai

Posted on

Django RestApis example – GET/POST/PUT/DELETE requests MySQL database with Django REST Framework

https://ozenero.com/django-restapi-mysql-example-get-post-put-delete-requests-django-rest-framework-tutorial

Django RestApis example – GET/POST/PUT/DELETE requests MySQL database with Django REST Framework

In the tutorial, we’re gonna look at way to create Django RestAPIs with Get/Post/Put/Delete requests to interact with MySQL Database using Django REST Framework.

Related Post: Django + Angular 6 example | Django Rest Framework + MySQL CRUD example

Django RestApi example Overview

Goal

The project create a set of Rest-APIs for GET/POST/UPDATE/DELETE APIs:

  • GET /customers/: get all customers
  • GET /customers/[id]: get a customer by id
  • POST /customers/: save a customer
  • PUT /customers/[id]: update a customer by id
  • DELETE /customers/[id]: delete a customer by id

We will config the Project to work with MySQL database.

Project structure

There are several folders and files in our Django project:

django-restapi-mysql-example-django-rest-framework-tutorial-project-structure

  • customers/apps.py: declares CustomersConfig class (subclass of the django.apps.AppConfig) that represents our Django app and its configuration.
  • gkzRestApi/settings.py: configures settings for the Django project, including INSTALLED_APPS list with Django REST framework and Customers Application.
  • customers/models.py: defines Customer data model class (subclass of the django.db.models.Model).
  • migrations/0001_initial.py: is generated by makemigrations command, includes the code to create the Customer model, will be run by migrate to generate MySQL database table for Customer model.
  • customers/serializers.py: declares CustomerSerializer class (subclass of rest_framework.serializers.ModelSerializer) for Customer instances to manage serialization to JSON and deserialization from JSON.
  • customers/views.py: contains methods to process HTTP requests and produce HTTP responses (using CustomerSerializer).
  • customers/urls.py: defines urlpatterns to be matched with request functions in the views.py.
  • gkzRestApi/urls.py: defines root URL configurations that includes the URL patterns declared in customers/urls.py.

Setup Django RestApi project

Install Django REST framework

More at:
https://ozenero.com/django-restapi-mysql-example-get-post-put-delete-requests-django-rest-framework-tutorial

Django RestApis example – GET/POST/PUT/DELETE requests MySQL database with Django REST Framework

Top comments (0)