我遇到了一些问题。我有一个这样的表格:
<form action="/" method="post">
{% csrf_token %}
<input type="button" name="_mail" value="Enviar Mail" id="buttonId">
</form>
这只是一个小屁股。然后在我的观点中我有这个代码:
def verFactura(request, id_factura):
fact = Factura.objects.get(pk = id_factura)
cliente = Cliente.objects.get(factura = fact)
template = 'verfacturas.html'
iva = fact.importe_sin_iva * 0.21
total = fact.importe_sin_iva + iva
extra_context = dict()
extra_context['fact'] = fact
extra_context['cliente'] = cliente
extra_context['iva'] = iva
extra_context['total'] = total
if "_mail" in request.POST:
send_templated_mail(template_name='receipt',
from_email='imiguel@exisoft.com.ar',
recipient_list =['ignacio.miguel.a@gmail.com'],
context=extra_context)
return HttpResponseRedirect('../facturas')
else:(if i don´t write this else i get an error)
return render(request,template, extra_context)
return render(request,template, extra_context)
SO的成员建议使用javascript来处理这样的点击事件:
<script type="text/javascript">
$(document).ready(function(){
$('#buttonId').click(function(){
alert("Email enviado");
});
});
我对javascript一无所知,但我希望只有这个我可以在视图中调用IF语句。但显然这部分代码从未接到电话,我也没有收到任何电子邮件。
那么,谁能告诉我我的错误在哪里?我有一种感觉,If语句的部分是错误的,但我不知道为什么
我真的很感激帮助。谢谢
答案 0 :(得分:1)
如果&#34; buttonId&#34;在request.POST.get(&#39;点击&#39;,False):
没有&#34;点击&#34;参数。使用此指令,您尝试通过False值迭代(&#34; in&#34;)。
尝试:
if '_mail' in request.POST: