我错过了Django的url路径

时间:2018-01-28 04:50:21

标签: python django python-3.x url django-2.0

我在django有一个应用程序,它有一个带有按钮的网页,可以通过菜单和8个hrefs移动到另一个页面。当我前往第一页并尝试点击另一页时,我将遇到404错误。

Page not found (404)
http://127.0.0.1:8000/index.html/contact 

这是我的url.py

urlpatterns = [
     path('index.html/', views.homepage),
     path('contact.html/', views.contact),
     path('about.html/', views.about),
]

观点

def customers(request):
    return render(request, 'customers.html')

def about(request):
    return render(request, 'about.html')

def contact(request):
    form_class = ContactForm
    return render(request, 'contact.html', {
        'form': form_class,
    })

设置未更改。 我相信这就是为网页制作网址的所有内容。

我不希望http://127.0.0.1:8000/index.html/contact我想要http://127.0.0.1:8000/indexhttp://127.0.0.1:8000/contact
如何保持我的网址基本?

2 个答案:

答案 0 :(得分:0)

您的urls.py应包含网址格式。这些可能与您放在templates /目录中的文件名不同。因此,你的模式不应该有" .html"如果你想在没有" .html"在网址中:

urlpatterns = [
     path('index/', views.homepage),
     path('contact/', views.contact),
     path('about/', views.about),
]

点击某些"联系"链接在索引页面上,您似乎构建了一个相对于索引页面的URL,而不是您站点的根目录。在模板中,链接的href属性应以" /"开头,例如:

<a href="/contact/">Contact</a>

而不是

<a href="contact/">Contact</a>

答案 1 :(得分:0)

只需从urls.py

中删除.html即可
urlpatterns = [
     path('index/', views.homepage),
     path('contact/', views.contact),
     path('about/', views.about),
]