以 Daniel Roseman 的正确答案为基础,这与 Django 无关;你会在纯 HTML 中遇到这个问题。
/
按照 Daniel 的建议(或指定协议)在 URL 的开头添加会将其转换为绝对链接。以任意名称开头会导致浏览器将其视为相对链接。那里有很多解释差异,但实际上很简单。假设您有以下文件:
/var/www/html/
├── directory/
│ └── three.html
├── two.html
└── one.html
one.html
然后你可以从like链接到其他页面
<a href='two.html'>2</a>
<a href='directory/three.html'>3</a>
或者
<a href='/two.html'>2</a>
<a href='/directory/three.html'>3</a>
你可以从three.html
like链接到其他页面
<a href='../one.html'>2</a>
<a href='../two.html'>2</a>
(../
意思是“上升一级)。
或者
<a href='/one.html'>2</a>
<a href='/two.html'>2</a>
因此,当您创建一个带有类似 的链接的 Django 模板时<a href="index">Start over</a>
,它会将href
值添加到当前页面的 URL,将其视为相对链接。