Django链接被附加到URL

The*_*eer 3 django django-templates

我正在使用Django进行项目,我正在尝试建立一个名为"index"的页面的链接,这是一个带有url的页面的起始页面

http://localhost:8000/index/result
Run Code Online (Sandbox Code Playgroud)

我添加了这样的链接:

<a href="index">Start over </a>
Run Code Online (Sandbox Code Playgroud)

因此,该链接指向:

http://localhost:8000/index/result/index
Run Code Online (Sandbox Code Playgroud)

而不是要求:

http://localhost:8000/index
Run Code Online (Sandbox Code Playgroud)

我在urls.py和views.py中设置了所有页面.

任何帮助表示赞赏.TNX

Dan*_*man 9

<a href="/index">Start over </a>
Run Code Online (Sandbox Code Playgroud)

甚至更好

<a href="{% url "index" %}">Start over </a>
Run Code Online (Sandbox Code Playgroud)


sup*_*cuo 5

以Daniel Roseman的正确答案为基础,这与Django无关; 你会用纯HTML来体验这个问题.

/在Daniel建议(或指定协议)时在URL的开头添加将其转换为绝对链接.从任意名称开始会导致浏览器将其视为相对链接.那里有很多解释差异,但实际上非常简单.假设您有以下文件:

/var/www/html/
??? directory/
?   ??? three.html
??? two.html
??? one.html
Run Code Online (Sandbox Code Playgroud)

然后你可以链接到one.html喜欢的其他页面

<a href='two.html'>2</a>
<a href='directory/three.html'>3</a>
Run Code Online (Sandbox Code Playgroud)

要么

<a href='/two.html'>2</a>
<a href='/directory/three.html'>3</a>
Run Code Online (Sandbox Code Playgroud)

你可以链接到three.html喜欢的其他页面

<a href='../one.html'>2</a>
<a href='../two.html'>2</a>
Run Code Online (Sandbox Code Playgroud)

(../意思是"上升一级").

要么

<a href='/one.html'>2</a>
<a href='/two.html'>2</a>
Run Code Online (Sandbox Code Playgroud)

因此,当您使用类似链接创建Django模板时<a href="index">Start over</a>,它会将href值添加到当前页面的URL,将其视为相对链接.