3

我正在将 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

4

2 回答 2

9
<a href="/index">Start over </a>

甚至更好

<a href="{% url "index" %}">Start over </a>
于 2012-08-20T20:04:57.987 回答
5

以 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.htmllike链接到其他页面

<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,将其视为相对链接。

于 2012-08-20T20:15:26.540 回答