Итак, у меня есть небольшая веб-программа, в которой пользователь может ввести свою электронную почту и получать некоторые обновления. Тем не менее, это электронное письмо сохраняется в базе данных (sqlite3), и у меня есть форма, в которой пользователь может отписаться, моя проблема в том, что я пытаюсь найти способ получить информацию из формы для отказа от подписки, и если она соответствует какой-либо записи в База данных это удаляет его. У кого-нибудь есть предложения?
Это представление, которое я пытаюсь создать, но оно не работает
def unsubscribe_view(request):
form = EmailForm()
if request.method == "POST":
form = EmailForm(request.POST)
value = form.cleaned_data['email']
if form.is_valid():
Email.objects.filter(email = value).delete()
context = {
'form' : form,
}
return render(request, 'Version/unsubscribe.html', context)
Это страница html
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!-- Compiled and minified JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<div style="text-align : center;">
<h1> UnSubscribe Page </h1>
<div class="container">
<div class="row">
<form method="post" action="/">
{% csrf_token %}
{{form}}
<button type="submit" class="waves-effect waves-light btn-small">Unsubscribe</button>
</form>
</div>
</div>
</div>
Это модель, если она вам нужна
from django.db import models
# Create your models here.
class Email(models.Model):
email = models.EmailField()
def __str__(self):
return self.email
Это форма
from django import forms
from django.forms import ModelForm
from .models import Email
class EmailForm(forms.ModelForm):
class Meta:
model = Email
fields = ['email']