我正在为一个项目使用Django,并试图创建一个名为"index"的页面的链接,该页面是带有url 的页面的起始页面
http://localhost:8000/index/result
我添加了这样的链接:
<a href="index">Start over </a>
因此,链接指向:
http://localhost:8000/index/result/index
而不是所需的:
http://localhost:8000/index
我把所有的页面都设置在urls.py和views.py中。
感谢您的帮助。tnx
<a href="/index">Start over </a>
甚至更好的
<a href="{% url "index" %}">Start over </a>
在Daniel Roseman的正确答案基础上,这与Django无关;使用纯HTML时会遇到这个问题。
按照Daniel的建议(或指定协议),在URL的开头添加/
会将其变成一个绝对链接。以任意名称开头会导致浏览器将其视为相对链接。有很多东西可以解释这种差异,但实际上很简单。假设您有以下文件:
/var/www/html/
├── directory/
│ └── three.html
├── two.html
└── one.html
然后你可以像一样从one.html
链接到其他页面
<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
链接到其他页面,比如
<a href='../one.html'>2</a>
<a href='../two.html'>2</a>
(../
的意思是"上一级")。
或
<a href='/one.html'>2</a>
<a href='/two.html'>2</a>
因此,当您制作一个带有类似<a href="index">Start over</a>
的链接的Django模板时,它会将href
值添加到当前页面的URL中,将其视为相对链接。