In this article, we will learn how generate a QR code using Django python. Here we generate QR code images from any text.
First, we need to install the following packages
Step-1
- pip install qrcode
Step-2
- create django project
- create django app
then include the app in the settings.py file
Create views.py
from django.shortcuts import render from django.http import HttpResponse, HttpResponseRedirect import io import qrcode.image.svg import qrcode def qr_code(request): context ={} if request.method == "POST": factory = qrcode.image.svg.SvgImage qr_image = qrcode.make(request.POST.get("http://labpys.com",""),image_factory=factory, box_size=20) bufstore = io.BytesIO() qr_image.save(bufstore) context["svg"] = bufstore.getvalue().decode() return render(request,'qrcode.html',context=context)
Now to set url in urls.py from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('',include("qr_code.urls")), ]
from django.contrib import admin from django.urls import path from . import views urlpatterns = [ path("",views.qr_code,name="qrcode"), ]
then Create Template folder in that create HTML file qrcode.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>QR Code Generator</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous"> </head> <body> <div class="row col-sm-6 shadow"> <form method="post"> {% csrf_token %} <h3>generate a QR code(Enter Any text)</h3> <div class="row-group"> <input type="text" class="form-control" name="qr_text" autofocus> <br/> <div class="row-group"> <input type="submit" style="max-width: 200px; margin: auto" class="form-control"> </div> <br/> </div> </form> <div class="row-group"> <div style="margin: auto"> {{ svg|safe }} </div> </div> </div> </body> </html>
Thank you for reading.