당사 웹사이트에서 URL의 QR 코드를 생성해야 하는 경우가 있습니다. QR 코드는 확인, 웹사이트 로그인, 웹사이트 열기 등을 위해 스캔됩니다. 이 기사에서는 이를 구현하는 방법을 살펴보겠습니다. qrgenerator를 만들 것입니다. Django의 웹사이트
예시
Django 프로젝트와 앱을 만듭니다. 미디어 만들기 프로젝트 및 앱의 동일한 수준에 있는 폴더입니다.
settings.py로 이동합니다. 프로젝트 폴더에서 INSTALLED_APPS에 앱 이름을 추가하고 하단에 추가 -
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/') MEDIA_URL = '/media/'
여기에서 미디어를 설정합니다. QR 코드를 저장할 폴더입니다.
url.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 qrcode .
pip install PIL pip install qrcode
앱의 url.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을 가져와 백엔드로 보내기 위한 입력 상자를 만들었습니다.