Django версия 2.2
У меня есть форма, как показано ниже в forms.py
class NameForm(forms.Form):
email_address = forms.EmailField(label='Your Email Address', max_length=100)
в form.html
<form method="POST">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit">
</form>
views.py
def register(request):
model = Test
if request.method == 'POST': # If the form has been submitted...
form = NameForm(request.POST) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
email_address = form.cleaned_data['email_address']
print (email_address)
if (email_address == Test.email_address):
return HttpResponseRedirect('../success') # Redirect after POST
else :
return HttpResponseRedirect('../failed')
else:
form = NameForm() # An unbound form
return render(request, 'form.html', {'form': form})
models.py
class Test(models.Model)
email_address= models.EmailField(max_length=100)
Все соответствующие модули успешно импортированы, и форма отправляется без проблем.
Что мне нужно сделать, так это то, что когда пользователь предоставляет адрес электронной почты с помощью формы, адрес электронной почты должен быть проверен с адресами электронной почты в базе данных (models.py), которая указана ранее. После проверки адресов электронной почты в базе данных, если указанный адрес электронной почты совпадает с идентификатором электронной почты в базе данных, электронная почта должна быть отправлена на идентификатор электронной почты. Логика проста, но не удалось получить доступ к значениям формы form.field в форме представления класса и использовать их.
Я попробовал приведенный ниже код,
testmail = form.cleaned_data['email_address']
if (testmaill == 'mymail@database.com' ):
return HttpResponseRedirect('../success')
И это не сработало