代码之家  ›  专栏  ›  技术社区  ›  Shobi

如何在Django 2模板中生成绝对URL

  •  0
  • Shobi  · 技术社区  · 6 年前

    我有一个html模板,用于呈现电子邮件,在该模板中,我想附加验证链接。

    我使用以下代码来生成链接

    {% url 'verify_email' token=token email=email %}
    

    但是这一个生成了如下URL而不是绝对URL。

    enter image description here

    还有一些谷歌的初步搜索结果,但所有这些结果似乎都过时了,对我来说都不管用。

    TLDR公司: 如何在Django2模板文件中生成绝对url

    1 回复  |  直到 6 年前
        1
  •  3
  •   tobib    4 年前

    你可以用 build_absolute_uri() 在另一个线程中引用并注册自定义模板标记。请求是在上下文中提供的(通过 takes_context django.template.context_processors.request

    from django.shortcuts import reverse
    
    @register.simple_tag(takes_context=True)
    def absolute_url(context, view_name, *args, **kwargs):
        request = context['request']
        return request.build_absolute_uri(reverse(view_name, args=args, kwargs=kwargs))
    

    更多关于在哪里和如何做到这一点 in the docs .

    {% absolute_url 'verify_email' token=token email=email %}
    
    推荐文章