Python Tutorials

Kostja Palović

Django Hosting: Best Options for Your Web App in 2026

Compare Django hosting options from free tiers to self-hosted VPS. See how Appliku + Hetzner beats Heroku on price while keeping the same git-push simplicity.

Read more →
Kostja Palović

Django createsuperuser: How to Create a Superuser

Learn how to use the Django createsuperuser command to create an admin superuser. Covers basic usage, custom username/email flags, and non-interactive mode.

Read more →
Kostja Palović

Celery Flower: Monitoring, Setup, and Production Deployment

Complete guide to Celery Flower monitoring tool: run it with Docker Compose, add basic auth, configure nginx reverse proxy, integrate Prometheus metrics, and deploy to production.

Read more →
Kostja Palović

Django REST Framework and DataTable example

How to use DataTable ServerSide with Django REST Framework. How to display and filter a large dataset using ServerSide mode and achieve great performance.

Read more →
Kostja Palović

Django Simple JWT Authentication with djangorestframework-simplejwt

Complete guide to JWT authentication in Django using djangorestframework-simplejwt. Covers token refresh, blacklisting, custom claims, logout, and all SIMPLE_JWT settings.

Read more →
Kostja Palović

Using Celery task to generate data for a view

Learn how to use the Celery task to generate data for a Django view that is taking too long to respond.

Read more →
Kostja Palović

Django Celery Tutorial: Background Tasks, Beat Scheduler, and Retries

Complete Django Celery tutorial: install Celery with Redis, create background tasks, configure Celery Beat for scheduling, add retry logic, and monitor with Flower.

Read more →
Kostja Palović

Django Celery Multiple Queues, when and how to use them

How to work with multiple queues in Celery, why you need it and how to set it up. Tutorial includes file processing and DNS lookups for domains of email addresses. Also, docker-compose.yml is covered for local development.

Read more →
Kostja Palović

Bulk Create model instances in Django

If you have a lot of objects to save in database you may want to create them using .bulk_create method to make it faster. This will ignore pre and post save signals.

Read more →
Kostja Palović

Django Bulk Update Model Instances

There are two ways to bulk update your Django model instances depending on the requirements. One is to save multiple objects using .bulk_update() and another is to use QuerySet.update() method.

Read more →
Kostja Palović

Celery shared_task

shared_task is a decorator that makes a function – a celery task. Its primary purpose is for library developers because it doesn't require Celery App instance, but it is convenient for everyone. See params and examples of how to use it.

Read more →
Kostja Palović

Celery Chord and Groups: Complete Guide with Error Handling

Master Celery chord and group for parallel Django tasks. Covers chain vs chord, error callbacks with link_error, chord_unlock behavior, and working code examples.

Read more →
Kostja Palović

Rate Limiting Celery Tasks

How to rate limit execution of Celery tasks in a reliable way. Throttle calls to 3rd party API via Celery Tasks.

Read more →
Kostja Palović

Comparing Django vs Express.js

Django and Express.js are both popular frameworks for building web applications, with different strengths and weaknesses. Django is great for complex web apps with advanced features, while Express.js is best for real-time applications.

Read more →
Crew

Web Server for Django

Web servers for Django application. Comparing popular Nginx server and newer, but promising Caddy server. Discussing pros and cons. In addition, examples of virtual host configuration for both Caddy and Nginx.

Read more →
Kostja Palović

Best frontend framework for Django

The best frontend framework to use with Django, including options such as jQuery, AlpineJS, React, and NextJS. Pros and cons of each framework and recommendations on how to deploy them separately when scaling the team or project.

Read more →
Kostja Palović

Celery Task Priority

This article covers how to prioritise tasks processing depending on user tier. The described approach uses Celery as an example, but can be replicated with any other background task processing tooling.

Read more →
Kostja Palović

Building a restful api with Django REST framework tutorial

This tutorial explains what RESTful API is and why it's used, followed by a step-by-step guide on how to build a REST API using Django. It covers creating a new Django project, defining models for a TODO app, using REST framework serializers and CRUD views, setting up a Django REST framework router and URLs, and testing the API.

Read more →
Kostja Palović

Django REST Framework Swagger OpenAPI Tutorial

Add Swagger UI and OpenAPI docs to your Django REST Framework API using drf-spectacular. Step-by-step setup with Redoc integration, URL config, and working code examples.

Read more →
Kostja Palović

Django Admin Panel Tutorial

Series of bite-sized topic-based tutorials about unleashing the power of Django Admin

Read more →
Kostja Palović

Deploy Django on Hetzner Cloud: Step-by-Step Guide (2026)

Learn how to deploy a Django app on Hetzner Cloud VPS using Appliku. ARM server setup, Postgres, automatic HTTPS, and git-based deployments — from zero to live in under 15 minutes.

Read more →
Kostja Palović

Django Channels WebSockets Quickstart Tutorial

Learn how to create a chat application with Django channels and deploy it in production without learning about DevOps!

Read more →
Kostja Palović

How to send emails with Django via SES with SNS

How to send email from Django Project via AWS SES, set up tracking of bounces and complaints, and filter bad email addresses to protect email deliverability.

Read more →
Kostja Palović

How to create AWS RDS Postgres instance

Database is the main auxiliary service needed for running your Django Project. How to create AWS RDS Postgres Database and connect to Django.

Read more →
Kostja Palović

Django File uploads to S3 and Cloudfront CDN

How to create AWS S3 bucket, setup CloudFront CDN and setup Django 4.2 to upload files to S3

Read more →
Kostja Palović

Deploy Django to Lightsail

How to deploy your Django app with Postgres Database on a Lightsail server.

Read more →
Kostja Palović

Deploy Django on Linode

How to deploy a Django application to a Linode server, setup database and see server stats.

Read more →
Kostja Palović

Deploy Django on Azure

How to deploy a Django application to a Azure VM, setup database and see server stats.

Read more →
Kostja Palović

Deploy Django to Google Cloud Platform(GCP)

How to create a Google Cloud (GCP) VM and deploy a Django project, create a database and access the site via HTTPS.

Read more →
Kostja Palović

Deploy Django to Digital Ocean Droplet

Learn how to easily deploy a Django Project to Digital Ocean Droplet, setup environment variables, Add databases and have SSL certificate issued.

Read more →
Kostja Palović

How to Deploy Wagtail To AWS EC2 and Digital Ocean

Step-by-step tutorial on how to create a Wagtail project and deploy it on AWS EC2 and Digital Ocean Droplet.

Read more →
Kostja Palović

How to set up Nginx for a Django project

Step-by-step instructions on setting up an Nginx web server for a Django application on a fresh Ubuntu 20.04 LTS server. Setting up the server environment, creating a Django project, running it with gunicorn, creating a Let's Encrypt certificate, and setting up Nginx as a reverse proxy.

Read more →
Kostja Palović

Django Docker Tutorial with Postgres

Learn how to set up a Django Docker project with Postgres from scratch. Covers multi-stage Dockerfile builds, health checks, named volumes, and docker-compose.override.yml for dev vs production.

Read more →
Kostja Palović

How to Deploy Flask on AWS EC2, Hetzner, Digital Ocean

How to create a Flask application with a POST endpoint, create a server on AWS, Digital Ocean and Hetzner and deploy your Flask app.

Read more →
Kostja Palović

Deploy FastAPI and PostgreSQL on AWS EC2 Tutorial

Learn how to create a FastAPI app with PostgreSQL and deploy it on an AWS EC2 Instance.

Read more →