【发布时间】:2018-09-24 12:30:34
【问题描述】:
感谢您阅读我的问题。我没有收到获取主机的请求。我正在向在我的应用程序中注册的司机发送一封电子邮件。我正在发送一个预订链接,其中包含他们在 URL 中的 ID。问题是我没有得到主机。 例如 点击链接后,我希望他重定向到他可以看到汽车的页面。
在邮件中输出 发送邮件后:
请点击链接预订汽车/drivers/2/
但我想要一个正确的链接以通过邮件发送给他
例如
http://127.0.0.1:8000/drivers/1/
Views.Py
from django.template import Context, Template as mailt
@csrf_exempt
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 = 'bakrshk@gmail.com'
if to_email is not None:
template = mailt("""Please hit the link and book a car {{ request.get_host }}{% url 'detail' driver_id=driver_id %}""")
ctx = Context({'driver_id': driver.id})
join_message = template.render(ctx)
send_mail(subject=subject, from_email=from_email, recipient_list=[to_email], message=join_message,
fail_silently=False)
print("email sent")
print(request.get_host)
except Driver.DoesNotExist:
print("Driver doesn't exists")
Url.py
url(r'^drivers/(?P<driver_id>\d+)/$', rent_views.detail, name='detail'),
【问题讨论】:
-
ctx = Context({'driver_id': driver.id, request: request }) -
或者直接在视图中执行
request.get_host()并将其传递到上下文中。 -
@BearBrown 我在上下文中通过它但仍然相同请点击链接并预订汽车/drivers/2/
-
@DanielRoseman request.get_host() 我需要在其中添加一些库吗?
-
我不明白你的问题。
标签: python django django-views django-urls django-email