我创建了一个项目并创建了一个应用程序订单。
Views.py:
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return render(request, 'orders/index.htm')
def orders(request):
return render(request, 'orders/order.html')
urls.py:
from django.conf.urls import patterns, url
from orders import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^index.htm/', views.index, name='dashboard'),
url(r'^order.html/', views.orders, name='orders'),)
我使用了一个随时可用的网站模板.2页的链接是:
index.htm index.htm是仪表板
order.html order.html是订单
当我去链接localhost:8000 / orders /时,我点击订单链接看起来像这样。
并多次单击左窗格中的两个链接,生成的URL如下所示:
localhost:8000 / orders / order.html / order.html
本地主机:8000 /命令/ order.html / index.htm的
我想从中间删除order.html,使其看起来像:
本地主机:8000 /命令/ index.htm的
localhost:8000 / orders / order.html
答案 0 :(得分:1)
模板中的链接没有前导斜杠,这意味着它们相对于当前目录。
如果您在包含网址http://localhost:8000/index.html/的网页上并点击了包含href="order.html"
的超链接,则会转到
http://localhost:8000/index.html/order.html
要解决此问题,您必须
<a href="/order.html">
或删除urls.py
中网址定义的尾部斜杠,例如
url(r'^index.htm', views.index, name='dashboard')
我建议您在模板中使用模板标记url
,而不是硬编码链接。
如果可能,我还会从两个模板和.htm
urls.py
扩展名