Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django发送带有链接的电子邮件_Python_Django_Url - Fatal编程技术网

Python Django发送带有链接的电子邮件

Python Django发送带有链接的电子邮件,python,django,url,Python,Django,Url,我有一个发送代码: def send_email(site_id, email): subject = "Sub" from_email, to = EMAIL_FROM, email text_content = 'Text' html_content = render_to_string( 'app/includes/email.html', {'pk': site_id} ) msg = EmailMultiA

我有一个发送代码:

def send_email(site_id, email):
    subject = "Sub"
    from_email, to = EMAIL_FROM, email
    text_content = 'Text'
    html_content = render_to_string(
        'app/includes/email.html',
        {'pk': site_id}
    )
    msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
    msg.attach_alternative(html_content, "text/html")
    msg.send()
在我的模板中

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>title</title>
</head>
<body>
    <a href="{% url 'mail_view' pk %}">Click</a>
</body>
</html>

标题
但此代码生成如下链接:

结果/30很好, 但我得到的是mail.google.com而不是“mysite.com” 在我的站点中没有/en us/It only/en/


你们知道吗?

我怀疑你们在电子邮件模板的链接中缺少了绝对url。当您发送电子邮件时,django会用相对url“/results/30/”填充url,也许您的gmail邮件客户端会用自己的域和语言前缀路径填充url

您可以尝试以下方法:

<a href="https://yoursite.com{% url 'mail_view' pk %}">Click</a>

或者,为了避免在模板中硬编码您的域,您可以使用django sites框架或类似工具使用以下建议的技术之一:


查看邮件的功能是什么?这是您的观点还是其他第三方的观点?