没有斜杠的Django URL不起作用

Mag*_*ivi 7 python django url python-2.7 django-1.9

未找到更新页面 (404)

这是一个愚蠢的问题。我刚刚创建了一个项目,并一直试图找出这个问题。

from django.conf.urls import url
from django.views.generic import TemplateView

urlpatterns = [
    url(r'^$', TemplateView.as_view(template_name="index.html")),
    url(r'^about$', TemplateView.as_view(template_name="about.html")),
    url(r'^contact$', TemplateView.as_view(template_name="contact.html"), name="contact"),
    url(r'^test$', TemplateView.as_view(template_name="test_start"), name="test_start"),
    url(r'^test/sample$', TemplateView.as_view(template_name="test_start"), name="test_start"),
]
Run Code Online (Sandbox Code Playgroud)

被纳入

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', include('frontend.urls'))
]
Run Code Online (Sandbox Code Playgroud)

当我去时localhost:8000/about,我被重定向到localhost:8000/about/那里,我得到 404 Not Found。

更新:我在 URLconf 中添加了更多 URL。

更新 2:我的意思是不包括尾部斜杠。我很抱歉。

更新 3:我在 Firefox 中打开了相同的 URL,该 URL 的工作原理与我预期的一样。这可能是重定向和浏览器缓存的问题吗?

小智 -1

将“about”的 url 模式更改为:

url(r'^about/?$', TemplateView.as_view(template_name="about.html")),
Run Code Online (Sandbox Code Playgroud)

如果没有/?,正则表达式^about$将匹配恰好包含单词“about”的字符串。