所以我尝试使用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
答案 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),
]