反向'关于'没有找到参数

时间:2017-09-28 03:22:22

标签: python django django-templates

所以我尝试使用Django,并且我已经有一些网址正在工作,但有一套不会工作。

它不断要求争论,但它不应该要求一个。

以下错误。

NoReverseMatch at /

Reverse for 'about' with no arguments not found. 1 pattern(s) tried: ['$about/']

Error during template rendering

In template hub\templates\partials\footer.html, error at line 33

hub \ templates \ partials \ footer.html第33行

<a href="{% url 'hub:about' %}" class="nav__link">About</a>

集线器/ urls.py

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$', views.HomePageView.as_view(), name='index'),
    url(r'^about/', views.AboutPageView.as_view(), name='about'),
    url(r'^contact/', views.ContactPageView.as_view(), name='contact'),
]

storyarchive / urls.py

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

urlpatterns = [
    url(r'^$', include('hub.urls', namespace='hub')),
    url(r'^community/', include('community.urls', namespace='community')),
    url(r'^forum/', include('forum.urls', namespace='forum')),
    url(r'^story/', include('story.urls', namespace='story')),
    url(r'^admin/', admin.site.urls),
]

在我开始使用{% url %}内置版之前,它已经有效了。

Django版本:1.11.5 Python版本:3.4.4

1 个答案:

答案 0 :(得分:2)

您需要从包含$的网址模式中删除hub.urls。这只与空字符串匹配。所以它不会与about匹配。 这就是为什么它也会在你的错误日志中显示$about/。像这样更改storyarchive/urls.py

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

 urlpatterns = [
  url(r'^', include('hub.urls', namespace='hub')),
  url(r'^community/', include('community.urls', namespace='community')),
  url(r'^forum/', include('forum.urls', namespace='forum')),
  url(r'^story/', include('story.urls', namespace='story')),
  url(r'^admin/', admin.site.urls),
 ]