我在 Django 的 url 路径中遗漏了一些东西
I am missing something with Django's url paths
我在 django 中有一个应用程序,它有一个带有按钮的网页,可以通过菜单和 8 个 href 转到另一个页面。当我前往第一页并尝试点击另一页时,我会遇到 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,
})
设置不变。
我相信这就是为网页创建 URL 路径的全部内容。
我不想要 http://127.0.0.1:8000/index.html/contact
我想要 http://127.0.0.1:8000/index
或者 http://127.0.0.1:8000/contact
如何让我的 URL 保持基本状态?
您的 urls.py 应该包含 URL 模式。这些可以与您放入 templates/ 目录中的文件的名称不同。因此,如果您想在 URL 中没有“.html”的情况下访问,则您的模式不应具有“.html”扩展名:
urlpatterns = [
path('index/', views.homepage),
path('contact/', views.contact),
path('about/', views.about),
]
当您点击索引页上的某些 "Contact" link 时,您似乎建立了一个相对于索引页的 URL,而不是站点的根目录。在您的模板中,links 的 href 属性应以“/”开头,例如:
<a href="/contact/">Contact</a>
而不是
<a href="contact/">Contact</a>
只需从 urls.py
中删除 .html
urlpatterns = [
path('index/', views.homepage),
path('contact/', views.contact),
path('about/', views.about),
]
我在 django 中有一个应用程序,它有一个带有按钮的网页,可以通过菜单和 8 个 href 转到另一个页面。当我前往第一页并尝试点击另一页时,我会遇到 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,
})
设置不变。 我相信这就是为网页创建 URL 路径的全部内容。
我不想要 http://127.0.0.1:8000/index.html/contact
我想要 http://127.0.0.1:8000/index
或者 http://127.0.0.1:8000/contact
如何让我的 URL 保持基本状态?
您的 urls.py 应该包含 URL 模式。这些可以与您放入 templates/ 目录中的文件的名称不同。因此,如果您想在 URL 中没有“.html”的情况下访问,则您的模式不应具有“.html”扩展名:
urlpatterns = [
path('index/', views.homepage),
path('contact/', views.contact),
path('about/', views.about),
]
当您点击索引页上的某些 "Contact" link 时,您似乎建立了一个相对于索引页的 URL,而不是站点的根目录。在您的模板中,links 的 href 属性应以“/”开头,例如:
<a href="/contact/">Contact</a>
而不是
<a href="contact/">Contact</a>
只需从 urls.py
中删除 .htmlurlpatterns = [
path('index/', views.homepage),
path('contact/', views.contact),
path('about/', views.about),
]