【问题标题】:Send email right from django-template直接从 django-template 发送电子邮件
【发布时间】:2014-10-26 19:16:15
【问题描述】:

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

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

附:我是 Django 新手。

【问题讨论】:

    标签: html django email templates send


    【解决方案1】:

    这行不通。 Django 模板并非旨在直接调用 python 模块/方法。 您可以创建模板标签,也可以在点击时触发发送电子邮件的 url/视图。

    来自philosophy of django template language

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

    关于如何创建template tags的文档

    这里有一个关于email sending functionality through views.py 的很好的教程

    【讨论】:

      【解决方案2】:

      不,这是不可能的。为了填充这些值 request.GET.to,您必须单击提交按钮 - 它必须位于某个地方。

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

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

      【讨论】:

        猜你喜欢
        • 2012-05-20
        • 2018-10-19
        • 2010-10-18
        • 1970-01-01
        • 2011-10-18
        • 2017-08-01
        • 1970-01-01
        • 2019-07-10
        • 2014-10-26
        相关资源
        最近更新 更多