所以我有一个小的网络程序,用户可以在其中输入他/她的电子邮件并接收一些更新。尽管如此,这封电子邮件保存在数据库(sqlite3)中,我有一个用户可以取消订阅的表单,我的问题是我正在试图找到一种从取消订阅表单获取输入的方法&;如果它匹配数据库中的任何记录,它将删除它。有人有什么建议吗
This is the view i'm trying to create but doesn't work
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)
This is the html page
<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>
This is the model if its any helpful
from django.db import models
# Create your models here.
class Email(models.Model):
email = models.EmailField()
def __str__(self):
return self.email
This is the form
from django import forms
from django.forms import ModelForm
from .models import Email
class EmailForm(forms.ModelForm):
class Meta:
model = Email
fields = ['email']
我建议将该记录作废,而不是删除。但如果您确定要删除,那么下面的代码片段就可以完成这项工作
相关问题 更多 >
编程相关推荐