บางครั้งเราจำเป็นต้องสร้างรหัส QR ของ URL ในเว็บไซต์ของเรา โค้ด QR จะถูกสแกนเพื่อตรวจสอบ เข้าสู่ระบบเว็บไซต์ เปิดเว็บไซต์ และอื่นๆ อีกมาก ในบทความนี้เราจะมาดูวิธีใช้งานกัน เรากำลังจะสร้าง qrgenerator เว็บไซต์ในจังโก้
ตัวอย่าง
สร้างโปรเจ็กต์ Django และแอพ สร้างสื่อ โฟลเดอร์ในระดับเดียวกันของโปรเจ็กต์และแอป
ไปที่ settings.py ในโฟลเดอร์โครงการและเพิ่มชื่อแอปใน INSTALLED_APPS และเพิ่มที่ด้านล่าง -
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/') MEDIA_URL = '/media/'
ที่นี่เราตั้งค่าสื่อ .ของเรา โฟลเดอร์ที่เราจะเก็บ QR code ไว้
ใน 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)
ที่นี่เรากำหนด URL ของแอปและ URL โฟลเดอร์สื่อ qrgenerator คือชื่อแอปของฉัน
ตอนนี้ติดตั้งสองไลบรารี:PIL คิวอาร์โค้ด .
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 ทั้งหมดของเรา
สร้าง "เทมเพลต" โฟลเดอร์ในไดเรกทอรีของแอป (ที่โฟลเดอร์การย้ายข้อมูลระดับเดียวกัน) และเพิ่มไฟล์ "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>
ที่นี่เราสร้างช่องป้อนข้อมูลเพื่อนำ URL และส่งไปยังส่วนหลัง ด้านล่าง