我是Django的新手。我想为给定的输入生成二维码,我已经完成了。但我想设置错误,如果给定输入的二维码之前已经生成。这是我的密码
Forms.py
from django import forms
from generateqr.models import *
import qrcode
class Qrgenerate(forms.Form):
input =forms.CharField()
def clean_input(self):
valinput=self.cleaned_data['input']
if len(valinput)<5:
raise forms.ValidationError('Enter more than 5 ')
else:
img=qrcode.make(valinput)
img.save("test.png")
return valinput
views.py
from django.shortcuts import render
from .forms import Qrgenerate
import qrcode
from django.http import HttpResponse
# Create your views here.
def showformdata(request):
if request.method =='POST':
fm = Qrgenerate(request.POST or None)
return render(request,"home.html",{'form':fm })
https://i.stack.imgur.com/mDigT.png
这是我想要设置错误的表单,如果用户之前已经输入了输入。我尝试过这段代码,但没有成功,并给出了ERROR Attribute 'object' is not found
def clean_input(self):
valinput = self.cleaned_data['username']
try:
input = Qrcode.objects.get(input==input)
except input.DoesNotExist:
return input
raise forms.ValidationError(i'input "%s" is already in use.' % input)
models.py
enter code here
from django.db import models
# Create your models here.
class Qr(models.Model):
input = models.CharField(max_length = 20)
更新的forms.py
from django import forms
from generateqr.models import *
from django.core.exceptions import ValidationError
import qrcode
class Qrgenerate(forms.Form):
input=forms.CharField()
# img=forms.ImageField()
def clean_input(self):
input=self.cleaned_data['input']
try:
Qr.objects.get(input__iexact=input)
except Qr.DoesNotExist:
img=qrcode.make(input)
img.save("test.png")
raise forms.ValidationError('input "%s" is already in use.' %input)
提前谢谢。请帮我一下
目前没有回答
相关问题 更多 >
编程相关推荐