django - Django如何发送带有用户链接的电子邮件?
问题描述
嗨,我是 Django 的新手,刚刚从文档中学习。我刚刚使用 django 发送电子邮件https://docs.djangoproject.com/en/2.1/topics/email/。我想在加入消息中发送一封电子邮件想发送一个带有司机 ID 的 URL 用于预订汽车。我如何发送带有他 ID 的网址。例如,我的员工网站中有 4 个用户。我们公司员工点击链接向已注册的用户发送电子邮件。单击发送电子邮件后,我如何在我的 url 中获取驱动程序 id 并在加入消息中向他发送一个链接,其中他的 id 在 url 中。
视图.py
def rentacar_carapp_approve(request):
if request.POST:
try:
args['driver'] = driver = Driver.objects.get(id=request.POST.get('driver_id'))
subject = "Please Register Your Car"
from_email = settings.EMAIL_HOST_USER
to_email = driver_email
if to_email is not None:
join_message = """Please hit the link and book a car "url with his id " """
send_mail(subject=subject, from_email=from_email, recipient_list=[to_email], message=join_message,
fail_silently=False)
print("email sent")
except Driver.DoesNotExist:
print("Driver doesn't exists")
return HttpResponseRedirect('/mega-admin/rentacar/carapp-manager/')
网址.py
url(r'^drivers/(?P<driver_id>\d+)/$',rent_views.book,name='book'),
解决方案
你可以这样试试:
if request.is_secure():
protocol = 'https://'
else:
protocol = 'http://'
host = request.get_host()
url = protocol + host + reverse('url_name', kwargs={user_id: user_id})
- 如果 url 模式没有争论,kwargs 可能为 null。
然后在 send email() 中将 url 与您的消息正文连接起来。
推荐阅读
- java - 如何在 Java 中使用 PrintStream 时找出发生的异常
- python - 在 Python 中从磁盘读取复杂数据结构的最快方法
- android - Unity Android 应用程序内浏览器 ERR_UNKNOWN_URL_SCHEME
- powershell - 在 shell 上下文菜单中的目录中运行 PowerShell,管理员模式
- email - 如何使 Outlook 电子邮件签名响应
- javascript - Web 开发中的 JavaScript
- javascript - 如何进一步检查该字符串不包含点
- c++ - 如何在 Windows 10 中使用本机 C++“监听”当前进程退出
- c# - 实体框架代码优先:使用种子和增量值初始化标识列
- php - 如何将数组值附加到字符串?