Monday, June 16, 2025

thumbnail

Setting Up RESTful APIs with Flask or Django

 Setting up RESTful APIs with Flask or Django is a common task for building web backends in Python. Here’s a high-level guide to help you decide which one to use and how to get started with each.


✅ When to Use Flask vs Django

Feature Flask Django

Philosophy Microframework (minimalist) Full-stack framework

Flexibility High – choose your own tools Convention over configuration

Learning Curve Easier for small projects Steeper due to built-in components

Best For Small to medium APIs, microservices Large applications, built-in admin


๐Ÿ”ง Flask RESTful API Setup

1. Install Flask

bash

Copy

Edit

pip install Flask

2. Basic API Example

python

Copy

Edit

from flask import Flask, jsonify, request


app = Flask(__name__)


@app.route('/api/hello', methods=['GET'])

def hello():

    return jsonify({"message": "Hello, world!"})


@app.route('/api/echo', methods=['POST'])

def echo():

    data = request.json

    return jsonify({"you_sent": data})


if __name__ == '__main__':

    app.run(debug=True)

3. For More Structure

Use Flask-RESTful:


bash

Copy

Edit

pip install Flask-RESTful

python

Copy

Edit

from flask import Flask

from flask_restful import Resource, Api


app = Flask(__name__)

api = Api(app)


class HelloWorld(Resource):

    def get(self):

        return {"message": "Hello, RESTful World"}


api.add_resource(HelloWorld, '/api/hello')


if __name__ == '__main__':

    app.run(debug=True)

๐Ÿงฐ Django RESTful API Setup (with Django REST Framework)

1. Install Django and DRF

bash

Copy

Edit

pip install django djangorestframework

2. Create Project and App

bash

Copy

Edit

django-admin startproject myproject

cd myproject

python manage.py startapp api

3. Configure settings.py

Add to INSTALLED_APPS:


python

Copy

Edit

'rest_framework',

'api',

4. Create a Serializer and View

python

Copy

Edit

# api/serializers.py

from rest_framework import serializers


class HelloSerializer(serializers.Serializer):

    message = serializers.CharField(max_length=100)

python

Copy

Edit

# api/views.py

from rest_framework.views import APIView

from rest_framework.response import Response


class HelloApiView(APIView):

    def get(self, request):

        return Response({'message': 'Hello from DRF!'})

5. Set Up URLs

python

Copy

Edit

# api/urls.py

from django.urls import path

from .views import HelloApiView


urlpatterns = [

    path('hello/', HelloApiView.as_view()),

]


# myproject/urls.py

from django.contrib import admin

from django.urls import path, include


urlpatterns = [

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

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

]

6. Run the Server

bash

Copy

Edit

python manage.py runserver

๐Ÿงช Testing Your API

Use tools like:


Postman


curl


JavaScript fetch() or Python requests


๐Ÿš€ Final Thoughts

Use Flask if you need something lightweight and flexible.


Use Django + DRF if you want batteries-included features (auth, ORM, admin) with less manual setup.

Learn Full Stack Python Course in Hyderabad

Read More

Flask vs Django for Full Stack Development: A Comparison

How to Use Django Models for Database Management

Introduction to Object-Relational Mapping (ORM) in Python

Python Database Management: PostgreSQL vs MySQL

Visit Our Quality Thought Training in Hyderabad

Get Directions



Subscribe by Email

Follow Updates Articles from This Blog via Email

No Comments

About

Search This Blog

Powered by Blogger.

Blog Archive