Passing a QR code as an SVG code

This tiny project will generate a QR code for any text and pass it to the HTML template as an SVG code.

SVG is a very convenient medium for URLs or other text. This small demo demonstrates a few things:

  1. How to pass a tag to the HTML
  2. How to generate a QR code
  3. How to use a variable as a stream (to write the SVG code not to the file but to the variable)
  4. How to use Bootstrap :) Just kidding.

The Tutorial

  1. pip install django
  2. pip install qrcode
  3. Create a Django project…

Bootstrap Cards with Django.

In this tutorial, we will create several cards with Bootstrap and allow some commands such as changing color and deleting.

What you will learn:

  1. Create a Django app
  2. Pass a list to the template
  3. Render cards using Bootstrap
  4. Implement commands from cards, like Delete or Change Color

Set up

We assume you have Python 3 and Django installed on your computer, and start by creating a new Django project using well-known commands:

django-admin startproject cards
cd cards
python startapp app

In this tutorial, we don’t care about databases, so we don’t need to migrate or something like that. …

Learn by doing

We will write a Sales Orders Management System using Django REST for the back-end, and React JS for the front-end. We will add authentication with JWT and will cover the back-end with tests.

We will also use the CDN version of React JS, not the “create-react-app”. This will simplify the development, as we WILL NOT need to run two servers: one for Django and one for React.

Of course, we will be using Functional Components in React.

Bonus: Sweet Alerts for beautiful animation :)

Takeaways: complete project source code on GitHub


  1. Create a Python Django Project

How much faster is your app with indexes?

A database index is like a phone book

Even “Senior” developers often forget to use indexes in Django. You can’t imagine how faster it can get if you simply add two lines of code into your model!

In this article we will take measurements together: with and without indexes.


Our patient will be a small Django application with just 7 fields.

I will just show the model here:

class Student(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
code0 = models.CharField(max_length=100, blank=True)
code1 = models.CharField(max_length=100, blank=True)
code2 = models.CharField(max_length=100, blank=True)
code3 = models.CharField(max_length=100, blank=True)
code4 = models.CharField(max_length=100, blank=True)

We have a lot of CharFields. No indexes.

We will be testing…

Step by step guide to writing Tetris in Python with PyGame

In this tutorial, we will write a simple Tetris using the PyGame library in Python. The algorithms inside are pretty simple but can be a little challenging for the beginners. We will not concentrate on PyGame mechanics too much, but rather focus on the game logic. If you are too lazy to read all the stuff, you may simply copy and paste the code in the end.

Tetris Game


  1. Python3. This may be downloaded from the official website.
  2. PyGame. Go to your command prompt or terminal, depending on the OS you…

Start your Django projects with this template to save time

SB Admin Screenshot

Every time you start a new Django project, what you do is:

  1. Create a Django project
  2. Create an app
  3. Add and setup statics
  4. Get some HTML CSS templates, copy
  5. And more repeating steps

And then you create your models etc.

I did this project init for you :)

The Basis

As a basis, I have taken a free Bootstrap template SB Admin 2 from here:

It’s a free beautiful template that is suitable in most cases when you write a Django project.

What you get for free there is:

  1. HTML files
  2. CSS files
  3. JS files
  4. Some images for icons
  5. Vendor packages…

A quick tip: How to reuse the Django built-in authentication forms

Django default Login View

Do you need to authenticate your users but don’t want to write HTML with CSS, add views for that, and add that view to the

I know this feeling, and I am here to help you!

Most probably, you already have this path in your url patterns:


And now, just add this to any of your views:

def index(request):
if request.user.is_anonymous:
return redirect("/admin/login/?next=/")

So, if the user is not authenticated, he/she will be redirected to the default login view of the Django system, and then…

Depth-First Search Tutorial. Intro to Recursive algorithms.

One of the ways to find a path is a recursive algorithm called “Depth-First Search”. If you thought that recursion is needed only for finding a factorial, you will be surprised.

Since we animate our algorithm, we will not go through all combinations and find the shortest path. We will find at least one path and will be happy with it. But sure you may go ahead and find all possible combinations, but you better do it in a normal graph, not a maze.

When do we need it?

Good question, thanks for asking.

It’s not a good idea to use it for finding a…

Do not hard code your passwords!

You know that it is bad to put your passwords in code. You git push it. Python code isn’t even compiled, so everyone can see it. And it is not convenient when you have different database connections on your machine and on the server.

Solution: Use Environment Variables

In this article, I will show you how to keep these variables in different Operating Systems and how to read them in Python.

When you publish your masterpiece to the Cloud, you set up a PostgreSQL server, and then the hell starts. Namely, you need to put your connection settings and the…

How to use cache_page in Django

There are many articles that explain how Caching works in Django. Most of them are complicated, so I decided to simplify everything for you.

Why Cache?

You may have some pages in your application that do not change so often. Your application still has to call your function and render an HTML.

It’s even worse if that is some statistics that should be computed and has access to your database. For example, it may be the number of views of a video on YouTube. Or the number of likes.

To calculate the number of views of a video, the server needs to…

Timur Bakibayev

Professor, Ph.D. in CS, Almaty Management University

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store