2014-09-02 129 views
1

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

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

P.S.我是django的新手。

回答

2

这不会工作。 Django模板的设计目的不是直接调用python模块/方法。 您既可以创建模板标签,也可以点击时触发发送电子邮件的网址/视图。

philosophy of django template language

如果你在编程,或者如果你已经习惯了它的语言混合编程代码直接转换成HTML的背景下,你要牢记的是,Django的模板系统并不仅仅是嵌入到HTML中的Python。这是设计的:模板系统是为了表达表示,而不是程序逻辑。关于如何创建template tags

这里

文档是一个很好的教程谈论email sending functionality through views. PY

2

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

现在,如果您真的必须 - 您可以严格执行此操作,使用JavaScript和像mailgun这样的工作在HTTP上的库。

只需创建一个请求,就像处理任何AJAX请求一样,阅读表单域的内容并发送您的电子邮件信息 - 而不会触及您的服务器端代码。