我有一个django项目。 index.html页面包含一个带有提交按钮的表单。我想在此index.html页面中包含django-template,以发送包含此表单数据的电子邮件。是否可以不使用任何python代码?就像:
{% send_mail( {{ request.GET.to }}, {{ request.GET.subject }}, {{ request.GET.message }} %}
P.S。我是django的新手。
答案 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请求一样创建请求,阅读表单字段的内容并发送电子邮件 - 无需接触服务器端代码。