Đôi khi chúng tôi cần tạo mã QR của một URL trong trang web của mình. Mã QR được quét để xác minh, đăng nhập trang web, mở trang web và nhiều thứ tương tự. Trong bài viết này, chúng ta sẽ xem cách thực hiện điều đó. Chúng tôi sẽ tạo qrgenerator trang web ở Django.
Ví dụ
Tạo một dự án Django và một ứng dụng. Tạo phương tiện ở cùng cấp của dự án và ứng dụng.
Đi tới settings.py trong thư mục dự án và thêm tên ứng dụng trong INSTALLED_APPS và thêm tên này ở cuối -
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/') MEDIA_URL = '/media/'
Tại đây, chúng tôi thiết lập phương tiện của mình thư mục nơi chúng tôi sẽ lưu mã QR của mình.
Trong urls.py của thư mục dự án, thêm phần sau -
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)
Ở đây chúng tôi đã xác định url ứng dụng và url thư mục phương tiện. qrgenerator là tên ứng dụng của tôi.
Bây giờ hãy cài đặt hai thư viện: PIL một qrcode .
pip install PIL pip install qrcode
Trong urls.py của ứng dụng -
from django.urls import path,include from . import views urlpatterns = [ path('', views.home,name='Home'), ]
Tại đây, chúng tôi đã hiển thị chế độ xem trang chủ của mình trên url chính.
Trong view.py, thêm các dòng sau -
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})
Tại đây, chúng tôi đã lấy url và sau đó tạo qrcode đối tượng của mô hình và trong trình xử lý GET, chúng tôi đã trả lại tất cả các mã QR của mình.
Tạo "mẫu" thư mục trong thư mục ứng dụng (ở cùng cấp của thư mục di chuyển) và thêm tệp "home.html" trong đó có các dòng sau -
<!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>
Ở đây chúng tôi đã tạo một hộp nhập liệu để lấy url và gửi nó đến phần phụ trợ. Bên dưới