所以我创建了一个包含三个html页面的Django应用程序。我想从一个不是主页的页面到另一个页面。但是,当服务器尝试访问后一页时,URL中似乎有一些混淆。
这是我的应用程序urls.py:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$',views.homepage,name='homepage'),
url(r'^findnow.html/$',views.findnow,name='findnow'),
url(r'^more.html/$',views.more,name='more')
]
我希望从“findnow.html”转到“more.html”。我希望网址为“localhost:port / more”,而服务器则转到“localhost:port / findnow.html / more.html”。
这是我的findnow的html代码段:
<body>
<div id="googleMap" style="width:500px;height:380px;text-align:center;"></div>
<a href="more.html">MORE</a>
</body>
</html>
这是我的views.py:
def more(request):
return render(request,'myapp/more.html')
答案 0 :(得分:2)
因此将其调整为:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$',views.homepage,name='homepage'),
url(r'^findnow/$',views.findnow,name='findnow'),
url(r'^more/$',views.more,name='more')
]
你的模板:
<body>
<div id="googleMap" style="width:500px;height:380px;text-align:center;"></div>
<a href="{% url 'more' %}">MORE</a>
</body>
</html>
答案 1 :(得分:1)
这是因为您将more.html
链接为相对页面。
您应该在其前面添加/
:
<a href="/more.html">MORE</a>
或者使用url
标记反转它:
<a href="{% url 'more' %}">MORE</a>