Не будь грубым, я думаю, ты захочешь сделать шаг назад к тому, чего ты пытаешься достичь. У вас есть список писем, которые вы хотите затем отредактировать или удалить. Вам не нужно отправлять форму, чтобы перейти к другому представлению, в котором вы собираетесь редактировать или удалить одну из этих записей.
Вам, безусловно, понадобится форма в представлении редактирования или удаления, чтобы опубликовать ваши значения, но в случае этого списка я на 99,9% уверен, что вам просто нужен тег привязки для редактирования или удаления:
{% for email in email_list %}
<table>
<tr>
<td>{{email}}></td>
<td><a href="{% url edit_email email.id %}">Edit</a></td>
<td><a href="{% url delete_email email.id %}">Delete</a></td>
</tr>
</table>
{% endfor %}
Надеюсь, что это имеет смысл.
[Последующий ответ]
Учитывая код, который вы настроили, я бы сделал так, чтобы каждая строка представляла собой собственную форму, а поле электронной почты должно было бы иметь нединамическое имя. В противном случае будет сложнее получить доступ к этому значению в коллекции request.POST. Вот как я бы это настроил:
#views.py
from django.shortcuts import render
def my_view(request):
email_list = MyModel.objects.all()
if request.method == 'POST':
email = request.POST.get('email')
action = request.POST.get('action')
if action == 'Edit':
#do edit
else:
#do delete
return render(request, 'template.html', {'email_list' : email_list})
#template.html
{% for email in email_list %}
<table>
<tr>
<form action="." method="post">
<td>{{ email }}<input type="hidden" name="email" value="{{ email }}" /></td>
<td><input type="submit" name="action" value="Edit" /></td>
<td><input type="submit" name="action" value="Delete" /></td>
</form>
</tr>
</table>
{% endfor %}