在Django模板中使用主机名

时间:2013-08-17 17:46:34

标签: django django-templates

我正在开发一个django应用,并希望使用相对a href网址路径,因为我在localhost上开发并将使用www.example.com。在我的template.html文件中创建这样的相对链接的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

使用内置模板标记url

答案 1 :(得分:1)

没关系。您可以使用 Django 模板中的以下内容获取相对网址(但是为了进行REST API调用,您应该使用绝对网址)。

{{ request.path }} 

例如:在主页中,

<a href="{{ request.path }}contact/">Contact</a>

假设我的服务器在 localhost 上运行并侦听端口 8000 并且我访问主页,那么以上内容将由django解释如下,

<a href="/contact/">Contact</a>

如果要进行REST API调用,请在模板中使用以下 HOST PORT PATH 例如。< / strong>在家中获取所有帖子),

<a href="{{request.scheme}}://{{request.get_host}}{{ request.path }}posts/">All posts</a>

它将呈现如下,

<a href="http://127.0.0.1:8000/posts/">All posts</a>

我有一个小例子send_contact_data.js。访问并查看 8 行。