如何检查在Django中输入之前是否已输入?

2024-10-04 05:31:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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)

提前谢谢。请帮我一下


Tags: djangofrompyimportselfimginputmodels