如何从名称间隔的Django URL获取绝对字符串?

时间:2017-12-28 23:16:06

标签: python django django-urls

您知道如何在Django应用中使用视图中的简单功能重定向到不同的视图吗?它通常是这样的:

return redirect('myapp:my_url')

上面的重定向会将我重定向到绝对网址,可能是这样的:

https://example.com/my-url/

现在,我的问题是,如何在视图中使用函数将https://example.com/my-url/作为字符串?我不想重定向,我只是想得到它,并将其保存在我的变量中。

所以,做这样的事情:

print my_function('myapp:my_url')

我们会在终端中得到一个输出:

  

https://example.com/my-url/

有任何帮助吗?谢谢!

1 个答案:

答案 0 :(得分:1)

你可以获得"路径"使用您已经提到的reverse函数的URL元素(即/my-url/)。

可以使用request.build_absolute_uri()添加网站的域名。

print(request.build_absolute_uri(reverse('myapp:my_url'))

请注意,我在此示例中使用了Python 3打印语法。