Django链接被附加到URL



我正在为一个项目使用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中,将其视为相对链接。

最新更新