将ID从模板传递到django中的视图

时间:2014-07-21 02:41:20

标签: javascript python django django-templates django-views

我遇到了一些问题。我有一个这样的表格:

<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语句的部分是错误的,但我不知道为什么

我真的很感激帮助。谢谢

1 个答案:

答案 0 :(得分:1)

  

如果&#34; buttonId&#34;在request.POST.get(&#39;点击&#39;,False):

没有&#34;点击&#34;参数。使用此指令,您尝试通过False值迭代(&#34; in&#34;)。

尝试:

if '_mail' in request.POST: