直接从django-template发送电子邮件

时间:2014-09-02 13:38:48

标签: html django email templates send

我有一个django项目。 index.html页面包含一个带有提交按钮的表单。我想在此index.html页面中包含django-template,以发送包含此表单数据的电子邮件。是否可以不使用任何python代码?就像:

{% send_mail( {{ request.GET.to }}, {{ request.GET.subject }}, {{ request.GET.message }} %}

P.S。我是django的新手。

2 个答案:

答案 0 :(得分:2)

这不行。 Django模板不是为直接调用python模块/方法而设计的。 您可以创建模板标记,也可以单击,触发将发送电子邮件的URL /视图。

来自philosophy of django template language

  

如果您有编程背景,或者习惯于将编程代码直接混合到HTML中的语言,那么您需要记住,Django模板系统不仅仅是嵌入到HTML中的Python。这是设计的:模板系统用于表达表示,而不是程序逻辑。

有关如何创建template tags

的文档

这是一个很好的教程,谈论email sending functionality through views. py

答案 1 :(得分:2)

不,那是不可能的。为了填充这些值request.GET.to,您必须单击提交按钮 - 它必须在某处。

现在,如果你真的必须 - 你可以使用javascript和像mailgun这样适用于HTTP的库来严格地从浏览器中执行此操作。

只需像创建任何AJAX请求一样创建请求,阅读表单字段的内容并发送电子邮件 - 无需接触服务器端代码。