Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

Django में QR कोड जनरेटिंग वेबसाइट

हमें कभी-कभी अपनी वेबसाइट में किसी URL का QR कोड जेनरेट करना पड़ता है। सत्यापन, वेबसाइट लॉगिन, वेबसाइट खोलने और इस तरह की कई चीजों के लिए क्यूआर कोड स्कैन किए जाते हैं। इस लेख में, हम देखेंगे कि इसे कैसे लागू किया जाए। हम एक qrgenerator . बनाने जा रहे हैं Django में वेबसाइट।

उदाहरण

एक Django प्रोजेक्ट और एक ऐप बनाएं। एक मीडिया बनाएं प्रोजेक्ट और ऐप के समान स्तर पर फ़ोल्डर।

settings.py . पर जाएं प्रोजेक्ट फ़ोल्डर में और INSTALLED_APPS में ऐप का नाम जोड़ें और इसे नीचे जोड़ें -

MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'

यहां हमने अपना मीडिया . सेट किया है फ़ोल्डर जहां हम अपना क्यूआर कोड स्टोर करेंगे।

urls.py . में परियोजना निर्देशिका में, निम्नलिखित जोड़ें -

from django.contrib import admin
from django.urls import path,include
from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
   path('admin/', admin.site.urls),
   path("",include("qrgenerator.urls"))
]
urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

यहां हमने ऐप यूआरएल और मीडिया फ़ोल्डर यूआरएल को परिभाषित किया है। qrgenerator मेरे ऐप का नाम है।

अब दो पुस्तकालय स्थापित करें:PIL एक qrcode

pip install PIL
pip install qrcode

ऐप के urls.py . में -

from django.urls import path,include
from . import views

urlpatterns = [
   path('', views.home,name='Home'),
]

यहां हमने अपने होम व्यू को मुख्य url पर प्रस्तुत किया है।

view.py, . में निम्नलिखित पंक्तियाँ जोड़ें -

from django.shortcuts import render
from .models import QrCode
# Create your views here.
def home(request):
   if request.method=="POST":
      Url=request.POST['url']
      QrCode.objects.create(url=Url)

   qr_code=QrCode.objects.all()
   return render(request,"home.html",{'qr_code':qr_code})

यहां हमने url लिया और फिर एक qrcode . बनाया मॉडल का ऑब्जेक्ट और GET हैंडलर में, हमने अपने सभी QR कोड लौटा दिए।

एक "टेम्पलेट्स" Create बनाएं ऐप निर्देशिका में फ़ोल्डर (माइग्रेशन फ़ोल्डर के समान स्तर पर) और एक फ़ाइल जोड़ें "home.html" इसमें निम्नलिखित पंक्तियों के साथ -

<!DOCTYPE html>
<html>
   <head>
      <title>tut</title>
   </head>
   <body>
      <form method="POST">
         {% csrf_token %}
         <input type="url" placeholder="URL PLEASE" requir
ed name="url">
         <button type= "submit" >get qrcode</button>
      </form>
      {% for qr in qr_code %}
      <img src="{{qr.image.url}}"/><br>
      {%endfor%}
   </body>
</html>

यहां हमने यूआरएल लेने और बैकएंड पर भेजने के लिए एक इनपुट बॉक्स बनाया है। नीचे

, हम प्रत्येक क्यूआर कोड ऑब्जेक्ट के माध्यम से लूप करते हैं और उन्हें छवियों के रूप में दिखाते हैं।

models.py . पर जाएं और निम्न पंक्तियाँ जोड़ें -

from django.db import models
import qrcode
from PIL import Image, ImageDraw
from io import BytesIO
from django.core.files import File

# Create your models here.
import random
class QrCode(models.Model):
   url=models.URLField()
   image=models.ImageField(upload_to='qrcode',blank=True)

   def save(self,*args,**kwargs):
      qrcode_img=qrcode.make(self.url)
      canvas=Image.new("RGB", (300,300),"white")
      draw=ImageDraw.Draw(canvas)
      canvas.paste(qrcode_img)
      buffer=BytesIO()
      canvas.save(buffer,"PNG")
      self.image.save(f'image{random.randint(0,9999)}',File(buffer),save=False)
      canvas.close()
      super().save(*args,**kwargs)

यहां हमने अपनी स्वयं की सेव विधि को परिभाषित किया है, जो तर्क लेती है। हमने qrcode . का उपयोग किया क्यूआर कोड जनरेट करने के लिए लाइब्रेरी और फिर हमने इसे ब्लैक एंड व्हाइट बनाने के लिए कैनवास का इस्तेमाल किया। फिर हमने उस क्यूआर कोड को कैनवास पर जोड़ा और उसे एक छवि के रूप में सहेजा। हमने छवि को मीडिया फ़ोल्डर में सहेजा है और इसे एक मॉडल उदाहरण के रूप में जोड़ा है।

अब, सब कुछ सेट हो गया है और आप आउटपुट की जांच के लिए आगे बढ़ सकते हैं।

आउटपुट

Django में QR कोड जनरेटिंग वेबसाइट


  1. Django में एक स्क्रीनशॉट लेने वाली वेबसाइट बनाना

    इस लेख में, हम देखेंगे कि Django में स्क्रीनशॉट लेने वाली वेबसाइट कैसे बनाई जाती है। जब भी हम स्क्रीनशॉट लें पर क्लिक करेंगे तो यह वेबसाइट मूल रूप से हमारी स्क्रीन का स्क्रीनशॉट ले लेगी। इसके बाद यह स्क्रीनशॉट को हमारे मीडिया फोल्डर में स्टोर कर लेगा और हम जब चाहें इसे देख सकते हैं। उदाहरण तो चलिए

  1. Django में क्लाइंट साइड इमेज जूमिंग और रोटेटिंग

    कभी-कभी, हमें किसी छवि को घुमाने या उसे ज़ूम करने की आवश्यकता हो सकती है। ऐसे मामलों में, क्लाइंट-साइड इमेज जूमिंग लाइब्रेरी का उपयोग एचटीएमएल फाइल पर जूमिंग-रोटेटिंग की jQuery सुविधा को जोड़ने के लिए किया जाता है। हमें बस html फ़ाइल में jQuery js और css लोड करने की आवश्यकता है। एक Django प्रोजेक्ट

  1. किसी वेबसाइट से एक्सेल में डेटा कैसे आयात करें?

    यह सर्वविदित है कि वर्ल्ड वाइड वेब में बहुत बड़ा उपयोगी डेटा होता है। हालाँकि, हमें किसी भी प्रकार का विश्लेषण करने से पहले डेटा को Microsoft Excel में आयात करना होगा। इस प्रकार के कार्य को पूरा करने के लिए आप दो विधियों का उपयोग कर सकते हैं। वेब से मैन्युअल रूप से बाहरी डेटा प्राप्त करें मान लीजिए