【发布时间】:2022-03-09 01:18:41
【问题描述】:
我有一个问题.. 我有一个带有邮箱的 Django 应用程序,该邮箱显示了一个包含所有邮件及其重要性(优先回答)的列表。单击“管理”按钮可以查看邮件消息。
现在我还想添加一个“删除”按钮,它将删除列表中的这封电子邮件,也就是 sqlite3 数据库中的行。
我尝试了多种方法,因为我在多个论坛上都看到了这个。我的问题是我对 Django 很陌生,我不知道我可以将哪些答案与我的代码中已有的答案结合起来。
这就是我现在所拥有的(它不起作用,因为我仍在努力寻找可行的解决方案)
mailindex.html:
<form action="" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-group">
<a href="{% url 'core:mail' mail.id %}" class="btn btn-secondary btn-sm">Manage</a>
<button type="submit" name="deletemail" value="deletemail" class="btn btn-secondary btn-sm">Delete</button>
</div>
</form>
views.py
class MailboxView(generic.ListView):
extra_context = {"mailbox_page": "active"}
model = MailMessage
context_object_name = 'mails'
template_name = 'core/mailbox/mailindex.html'
def post(self, request):
# if 'deletemail' in self.request.POST:
if request.POST.get('deletemail'):
mail = MailMessage.objects.get(pk=13)
mail.delete()
return HttpResponseRedirect(self.request.path_info)
编辑:
我更进一步:现在该按钮可以删除 ID 为 13 的电子邮件...如何将 mail.id 发送到views.py 中的函数?
【问题讨论】:
标签: python django sqlite django-forms