Skip to main content
 首页 » 编程设计

python之在 Django 中单击后找不到页面

2025年05月04日34JustinYoung

我有一个简单的菜单列表

{% block menu %}  
    <ul> 
    {% for item in list %} 
    <li><a href="{{item}}/">{{ item }}</a></li> 
    {% endfor %} 
    </ul> 
{% endblock %} 

和一个列表:

MENU = ['Home','Contact','About'] 

当我按下“联系人”时,转到地址 127.0.0.1:8000/Contact 使用相同的模板,但如果我再次单击“联系人”,我会在 127.0.0.1:8000/Contact/Contact

找到页面

我该怎么办?

请您参考如下方法:

这里的特殊问题是您发出的 HTML 有指向“Contact/”的链接,如果您已经在/Contact URL,它将转到/Contact/Contact,就像您在这里看到的那样。

快速修复是在 {{item}} 之前添加一个/,如下所示:

<li><a href="/{{item}}/">{{ item }}</a></li> 

但是,django 有比自己创建 URL 更好的方法来处理它们。查看 URL 调度程序文档 [1],目的是能够使用 url 模板标记 [2]。

那条线最终看起来像这样:

<li><a href="{% url item %}">{{ item }}</a></li> 
  1. [1] http://docs.djangoproject.com/en/dev/topics/http/urls/
  2. [2] http://docs.djangoproject.com/en/1.2/ref/templates/builtins/#url