我正在使用Django1.5,当我访问http://example.com:8000/dashboard/projects/时,我得到了错误NoReverseMatch at /dashboard/projects/ Reverse for 'project-details' with arguments '(1,)' and keyword arguments '{}' not found.
dashboard/views.py
class ProjectlistView(ListView):
"""
Project list page
"""
template_name = 'projects.html'
model = Project
context_object_name = 'projects'
paginate_by = 5
class ProjectDetailsView(DetailView):
"""
Project details page
"""
template_name = 'project-details.html'
model = Projectdashboard/urls.py
urlpatterns = patterns('',
url(regex=r'^$', view=DashboardView.as_view(), name='index'),
url(regex=r'projects/$', view=ProjectlistView.as_view(), name='projects'),
url(regex=r'project/(?P<pk>\d+)/$', view=ProjectDetailsView.as_view(), name='project-details'),
)my_project/urls.py
urlpatterns = patterns('',
url(r'^dashboard/', include('frontend.urls', namespace='dashboard'),),
url(r'admin/' ,include(admin.site.urls)),
)projects.html
{% url 'project-details' project.pk %}发布于 2013-12-18 22:44:50
您将url模式定义为使用命名组,因此需要将命名参数传递给url标记,即{% url 'project-details' pk=project.pk %}。
另外,你还需要在你的网址模式中加上一个插入符号,以确保它们不会超出你的需要,比如:^project/$和^project/(?P<pk>\d+)/$。
https://stackoverflow.com/questions/20658483
复制相似问题