简单Django应用程序中的NoReverseMatch异常

2021-04-12 00:26:34 发布

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

让我先说,我在这个论坛上读过很多关于这个例外的帖子,但仍然没有找到解决办法。不知道我错过了什么。在

这是网址.py在我的应用程序中:

from django.conf.urls import patterns, url, include
from django.core.urlresolvers import reverse
urlpatterns = patterns('',
        url(r'^$', PeopleList.as_view(), name='people_list'),
    )

这是生成错误的模板代码:

^{pr2}$

我得到的错误是

Reverse for 'people_list' with arguments '()' 
and keyword arguments '{}' not found. 0 pattern(s) tried: []

我阅读了许多关于这个错误的帖子,并尝试了几种方法(重新启动Web服务器,更改为双引号/单引号/无引号,等等)。但我看不出错误。在

这段代码是从a CRUD example复制的,我使用的是django1.6.4。在

视图代码为:

from django.views.generic.list import ListView
from people.models import Category, Person
from django.views.generic.edit import CreateView, UpdateView, DeleteView
from people.forms import CategoryForm, PersonForm
from django.views.generic.detail import DetailView
from django.shortcuts import get_object_or_404
from django.core.urlresolvers import reverse

class PeopleList(PersonMixin, ListView):
    template_name = 'people/object_list.html'

实际上代码来自链接:http://www.pythondiary.com/tutorials/simple-crud-app-django.html。但我使用的是django1.6。在

我所做的改变是

from django.conf.urls.defaults import patterns, url, include

我换了

from django.conf.urls import patterns, url, include
1条回答
网友
1楼 ·

在你的基地里网址.py你用命名空间包含了应用程序的URL,所以在模板中应该使用命名空间也是。在你的案子: <a href="{% url 'people:people_list' %}">Index</a>。在

有关命名空间的详细信息:https://docs.djangoproject.com/en/1.6/topics/http/urls/#url-namespaces。在

相关问题