Python Tutorials

Kostja Palović

How to create a superuser in Django

Learn how to use the `createsuperuser` management command in Django to create a superuser, either through prompts or by providing specific arguments.

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ć

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ć

How to use JWT Authentication with Django

How to implement JWT Authentication with Django REST Framework, add logout views and invalidate all tokens for the current user.

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 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ć

Flower Celery Monitoring

Flower is the monitoring and administration tool for Celery. Learn how to setup in local development, how to secure it with BASIC_AUTH and how to deploy it in a production/staging environment in Appliku

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 Groups and Chords

Deep dive into differences between Celery Groups and Chords. In this tutorial, you will see when callbacks are called for groups and chords, how the hard-fail chord behaves to see celery chord error callback. You will also see how tasks retry inside groups and chords.

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ć

Top Free Django Hosting 2024

Overview of free Django hosting offerings: AWS, Vultr, Google Cloud Platform. Deploy your first Django project for free on any of these Virtual Cloud Server Providers.

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

Why use OpenAPI and how to add it to a Django REST API project. Differences between Swagger and OpenAPI, and the benefits of using OpenAPI. Instructions on installing and setting up drf-spectacular, a package that generates OpenAPI documentation. How to. access the OpenAPI Swagger and redoc interfaces.

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ć

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ć

Django Docker Tutorial with Postgres

The concept of Docker and Docker Compose, the benefits of using them to containerize a Django application, and provides a tutorial on how to set up a Django project in a Docker container using Docker Compose.

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ć

Best Hosting Solution: Deploy Django Apps on Hetzner Cloud

How to create a server in Hetzner Cloud and deploy your Django application.

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ć

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ć

Django Celery Tutorial to Background tasks

How to work with Django Celery tasks, avoid typical pitfalls while working with background tasks, use locking to avoid simultaneous processing of the same data.

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 →