点击链接时发送电子邮件

时间:2014-04-13 04:38:38

标签: python django

我对Django比较新。我正在开发自己的网站,在一个部分,我想使用推荐代码。我已经成功生成了唯一的推荐代码。提到,当用户在我的网站上注册时,每个推荐代码都与相关用户一起存储在数据库中;没关系。但是我希望通过电子邮件发送这个唯一的推荐代码。在用户个人资料页面中,将向用户提供一个简单的锚标记,并要求他们点击该链接以获取电子邮件。该电子邮件将包含该推荐的推荐代码。相关用户。

作为例子......

{% extends 'base.html' %}
{% block title%}
 Profile page
{% endblock %}
{%block content%}
<!-- ==== Referral Code ==== -->
    <div id="greywrap">

        <a href = {% %}>Click here to get your referral code to your email</a>
    </div>






 {% endblock %}

在这里你可以看到有一个锚标记要求用户点击链接获取电子邮件。现在我如何将send_email()函数与发送email的链接集成。我知道send_email用于发送电子邮件。请帮助我。

2 个答案:

答案 0 :(得分:2)

您可以使用Django函数send_mail

from django.core.mail import send_mail

send_mail('Subject here', 'Here is the message.', 'from@example.com',
    ['to@example.com'], fail_silently=False)

答案 1 :(得分:0)

要通过单击模板中的链接正确发送电子邮件,您应该执行以下操作:

  1. 视图中创建方法。

    在这种方法中,您可能需要做一些事情来获取用户ID作为输入(可能来自HTTP request)并从数据库中获取引用代码;然后使用wavemode提供的代码发送电子邮件。这意味着类似于:

    def send_referral_code(request): user = request.user # Do some work to obtain the referral code from the request.user object # Do some work to obtain the e-mail from the request.user object from django.core.mail import send_mail send_mail('Subject here', 'Message with referral code', 'from@example.com' ['to@example.com'], fail_silently=False)

  2. 从您应用中的网址文件中关联此方法。

    以下是未经测试的,但应该给你一个想法:url(r'^send_referral_code/$', 'user.views.send_referral_code', name='send_referral_code')。这意味着可以在send_referral_code应用内的views模块中找到方法user

  3. 请参阅模板中的上一个网址。

    这是通过一个简单的{% url send_referral_code %}来完成的,这次是在你链接的href内。

  4. 请注意,这假定没有传递输入参数。如果您需要一些,请务必将其添加到视图和网址,最后将其作为模板中的参数传递,紧接在方法名称之后(在%&#39; s之间)

    有几个基本教程,例如:https://docs.djangoproject.com/en/dev/intro/tutorial03/#write-your-first-view。您可以在其中找到使用参数定义的URL的示例。