3

プロジェクトにDjangoを使用していて、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次に、のように他のページにリンクできます

<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>

( ../「1 レベル上がる」という意味です)。

また

<a href='/one.html'>2</a>
<a href='/two.html'>2</a>

したがって、 のようなリンクを含む Django テンプレートを作成すると、現在のページの URL に値が<a href="index">Start over</a>追加hrefされ、相対リンクのように扱われます。

于 2012-08-20T20:15:26.540 に答える