Перенаправление StreamingHttpResponse в Django

Я сталкиваюсь с проблемой отображения статуса в сканировании

это в основном сканирует QR купона и говорит, что купон действителен или нет Я сохранил статус каждого купона в базе данных вместе с идентификатором купона Я разобрался с частью сравнения и обновлением базы данных. Но Я не могу отобразить статус купона, т.е. погода купон действителен или нет

Ниже приведен код camera.html

{% include 'header.html' %}
    
        <div  class="w3-main" style="margin-left:300px;margin-top:60px;">
            
            <div>
                <img src="/cameraOn/">
                {{print}}
                kjhjvh
            </div>
        </div>

{% include 'footer.html' %}

Ниже приведен код views.py

def scan_qr(request):        
    return render(request, 'camera.html')



@gzip.gzip_page   
def cameraView(request):    
    stat = False
    cam = qr_scanner.VideoCamera()
    return StreamingHttpResponse(gen(cam, stat), content_type = "multipart/x-mixed-replace;boundary=frame")



def gen(camera, stat):
    
    while not stat:
        frame, stat = camera.get_frame()
        if stat:
            yield b'--text \r\n' + b'Content-Type: text/plain\r\n\r\n' + b'Hello\r\n\r\n'
        yield (b'--frame \r\n'
                b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n\r\n')

Ниже приведен мой файл qr_scanner.py

import cv2
import threading
from pyzbar.pyzbar import decode 
from services.models import Service


class VideoCamera(object):

    thread_flag = True
    scanned_otp = 'no_data'
    
    def __init__(self):
        self.video = cv2.VideoCapture(0)
        _, self.frame = self.video.read()
        self.qr_scanned = False
        threading.Thread(target=self.update, args=()).start()

    def release_camera(self):
        self.video.release()
        self.thread_flag = False

    def get_frame(self):
        
        img = self.frame
        _, jpeg = cv2.imencode('.jpeg', img)


        # Qr Scanning Start

        self.qr_data = ''

        for i in decode(img):
            self.qr_data = i.data.decode('utf-8')
            self.qr_scanned = True

            cv2.waitKey(3)                     

        # Qr Scanning ends

        self.data_list = self.qr_data.split(',')
        if self.qr_scanned and len(self.data_list) == 3:
            self.scanned_otp = self.data_list[2]
            self.check_qr(self.scanned_otp)
            self.release_camera()
            


        return jpeg.tobytes(), self.qr_scanned


    def check_qr(self,otp):
        service_db = Service.objects.filter(coupon_id = otp)
        if service_db.exists() and service_db.first().status == False:
            Service.objects.filter(coupon_id = otp).update(status = True)
            print('Exists')
        else:
            print("not")
        
    
    def update(self):
        try:
            while self.thread_flag:
                _, self.frame = self.video.read()
        except:
            pass
             

Это мой первый раз, когда я занимаюсь проектом. И я очень новичок в мире кодинга а также хочу сказать, что я начал изучать django через этот проект

Так что любая помощь будет очень кстати

  • Я пробовал отправлять метаданные и пытался их отобразить, но у меня не получалось обновлять метаданные каждый раз
  • .
  • Я пытался перенаправить файл, но это не сработало
  • Я даже пытался использовать базу данных, но ошибка в том, что если несколько пользователей используют приложение одновременно, то будет большая несогласованность. Причина, по которой это важно, заключается в том, что мне нужно использовать этот проект для технического мероприятия в нашем колледже, чтобы управлять купоном, поэтому он очень важен.
Вернуться на верх