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

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


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

उदाहरण

एक Django प्रोजेक्ट और एक ऐप बनाएं। प्रोजेक्ट और ऐप के समान लेवल पर एक media फोल्डर बनाएं।

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

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

यहां हमने अपना media फोल्डर सेट किया जहां हम अपना QR कोड स्टोर करेंगे।

प्रोजेक्ट डायरेक्टरी के 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)

यहां हमने ऐप urls और मीडिया फोल्डर url परिभाषित किए। 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

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 कोड लौटाए।

ऐप डायरेक्टरी में एक "templates" फोल्डर बनाएं (माइग्रेशन फोल्डर के समान लेवल पर) और इसमें "home.html" फाइल जोड़ें:

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

यहां हमने URL लेने के लिए एक इनपुट बॉक्स बनाया और इसे बैकएंड भेजा। <form> के नीचे, हम प्रत्येक QR कोड ऑब्जेक्ट के माध्यम से लूप करते हैं और उन्हें इमेज के रूप में दिखाते हैं।

models.py पर जाएं और निम्नलिखित लाइनें जोड़ें:

from django.db import models
import qrcode
from PIL import Image, ImageDraw
from io import BytesIO
from django.core.files import File
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)

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

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

आउटपुट

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


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

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

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

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

  1. वेबसाइट डेटा को एक्सेल में आसानी से आयात करें: एक चरण-दर-चरण मार्गदर्शिका वेबसाइट डेटा को एक्सेल में आसानी से आयात करें: एक चरण-दर-चरण मार्गदर्शिका

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