我对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用于发送电子邮件。请帮助我。
答案 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)
要通过单击模板中的链接正确发送电子邮件,您应该执行以下操作:
在视图中创建方法。
在这种方法中,您可能需要做一些事情来获取用户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)
从您应用中的网址文件中关联此方法。
以下是未经测试的,但应该给你一个想法:url(r'^send_referral_code/$', 'user.views.send_referral_code', name='send_referral_code')
。这意味着可以在send_referral_code
应用内的views
模块中找到方法user
。
请参阅模板中的上一个网址。
这是通过一个简单的{% url send_referral_code %}
来完成的,这次是在你链接的href
内。
请注意,这假定没有传递输入参数。如果您需要一些,请务必将其添加到视图和网址,最后将其作为模板中的参数传递,紧接在方法名称之后(在%
&#39; s之间)
有几个基本教程,例如:https://docs.djangoproject.com/en/dev/intro/tutorial03/#write-your-first-view。您可以在其中找到使用参数定义的URL的示例。