获取NoReverseMatch E

2024-04-20 08:48:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个应用程序,它将显示关于我的群中人的一些信息。当我试图在我的索引.html. 如果我不使用url标记,但指定了根,则不会收到错误。在

错误说明:

NoReverseMatch at / Reverse for 'specialist' with arguments '(1,)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$(?P[0-9]+)/']

这是网址.py文件夹。在

从主要的技术部门网址.py公司名称:

from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
    url(r'^$', include('person.urls')),
    url(r'^tech/', include('person.urls')),
    url(r'^admin/', admin.site.urls),
]

从“个人”应用程序网址.py公司名称:

^{pr2}$

我的视图.py文件如下所示:

^{3}$

还有我的索引.html页面如下所示:

{% if person_list %}
    <ul>
    {% for specialist in person_list %}
        <li><a href="{% url 'person:specialist' specialist.id %}"> {{ specialist }}</a></li>
    {% endfor %}
    </ul>
{% else %}
    <p>No specialists are available.</p>
{% endif %}

如果我换了标签索引.html为此,它起作用:

<li><a href="/tech/{{specialist.id}}"> {{ specialist }}</a></li>

显然,这不是一个理想的情况,以防web根目录发生变化。我已经复习了很多关于这个的问题,但是没有一个是匹配的。我认为问题在于regex开头的“$”,但我不知道这是从哪里来的。在

具体地说,我把这个链接作为一个非常好的参考点,但是在我的代码中却空无一物。 what is NoReverseMatch and how do i fix it

很明显我遗漏了一些东西。在


Tags: py应用程序urlforincludeadminhtml错误
2条回答

可能是URL末尾的附加/吗?在

url(r'^(?P<pk>[0-9]+)/$', views.DetailView.as_view(), name='specialist')

主键修饰符后面的那个。当您单击URL时(使用(%URL':'型号.名称%))你的浏览器会显示什么网址?在

我最终放弃了这个实现,并采用了一个更扁平的结构,所有模型、视图和模板都在同一个应用程序中。我在新设计中没有这个问题。在

相关问题 更多 >