所以我正在尝试 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
最佳答案
您需要从包含 hub.urls
的 urlpattern 中删除 $
。它只与空字符串匹配。所以它不会与 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),
]
关于python - 反转 'about',没有找到参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46460456/