python - 如何在模板外的 django 上构建 url
问题描述
我有一个应用程序,当创建用户实例时,会发送一个信号来发送电子邮件。我正在实现一个发送短信的信号。
在我的电子邮件 HTML 模板上,我有这行重定向用户,我需要在 SMS 上发送相同的链接。
<a href="{{ uri }}{% url 'password-reset-and-active-account' uidb64=uid token=token %}">Aqui</a>
那里使用的参数是通过这个上下文传递的
context = {
'user': user,
'uid': urlsafe_base64_encode(force_bytes(user.pk)).decode("utf-8"),
'token': default_token_generator.make_token(user),
'uri': settings.ABSOLUTE_URI
}
我怎样才能在 Django Templates 之外构建这个 URL,因为它{% url 'password-reset-and-active-account' %}
在模板之外不起作用?
解决方案
好吧,你可以使用相反的方法。这等于 url 模板标签,但用于 python 编程。
from django.urls import reverse
# ...
url = reverse('password-reset-and-active-account')
https://docs.djangoproject.com/en/3.2/ref/urlresolvers/#reverse
推荐阅读
- c# - 在 Xamarin 中选择 CardView
- xamarin - Xamarin:绑定到 ImageSource 属性不起作用
- flutter - 颤振按钮图标不随音频播放器改变
- r - 因变量中缺少数据的回归模型
- python - 数据框 - 具有时间值的字符串类型列的平均值
- python - 驱动程序在功能/硒中不起作用
- c# - 使用 c# 代码在 Header 中使用 Assertion Saml2 创建 SOAP 消息
- c++ - 如何将两个 C 风格的数组匹配到 google mock 中?
- python - pymongo 用它的子字符串值更新字段集合中的所有文档
- collections - 如何转换列表
到地图 使用 Java8 流