Здравствуйте, пожалуйста, я хочу сгенерировать случайный буквенно-цифровой код, превратить его в qr-код и затем сохранить оба в моей базе данных одним щелчком мыши, но у меня постоянно возникают ошибки
Я начинающий и это часть первого большого проекта, который я начал, но я продолжаю получать ошибки. qr-код создается и сохраняется в медиафайле, но имя и буквенно-цифровой код не сохраняются в базе данных, а когда я пытаюсь немного изменить код, имя и буквенно-цифровой код сохраняются, но qr-код не создается. Если возможно, мне также нужен способ сохранить каждый qr-код с буквенно-цифровым кодом, используемым для его генерации (способ дать более осмысленное имя qr-коду будет приветствоваться
).from django.shortcuts import render, redirect
from .models import Code
from django.conf import settings
from qrcode import *
import time
from pathlib import Path
from django.http import HttpResponseRedirect
from .forms import CodeForm
import random
import string
# Create your views here.
def show(request):
return render(request, 'show.html')
def win(request):
return render(request, 'win.html')
def qr_gen(request, x):
if request.method == 'POST':
data = x
img = make(data)
img_name = 'qr' + str(time.time()) + '.png'
img_path = Path(settings.MEDIA_ROOT)
img.save(str(img_path) + '/' + img_name)
return render(request, 'index.html', {'img_name': img_name})
return render(request, 'index.html')
def generator(request):
user_code = "".join(random.choices(string.ascii_uppercase + string.ascii_lowercase + string.digits, k=20))
form=CodeForm()
if request.method=='POST':
form=CodeForm(request.POST)
if form.is_valid():
fm = form.save(commit=False)
fm.random_number = user_code
fm.qr_image = qr_gen(request, fm.random_number)
img_object = form.instance
user = fm.save()
return HttpResponseRedirect("show")
else:
form=CodeForm()
return HttpResponseRedirect('win')
return render(request,'generate.html',{"form": form})