Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复Django rest框架路由器中的NoReverseMatch异常?_Django_Routes_Django Rest Framework_Django Views_Django Rest Viewsets - Fatal编程技术网

如何修复Django rest框架路由器中的NoReverseMatch异常?

如何修复Django rest框架路由器中的NoReverseMatch异常?,django,routes,django-rest-framework,django-views,django-rest-viewsets,Django,Routes,Django Rest Framework,Django Views,Django Rest Viewsets,我正在进行Django学习项目,无法使用reverse()解析URL 我试图从在线文档中理解这个概念,但我没能成功 我正在我的views.py中使用ModelViewSet 在我的测试中.py POSTS_URL = reverse('posts:posts-list') 这是我发布的URL.py(即应用程序) 这是我在根目录下的url.py urlpatterns = [ path('admin/', admin.site.urls), path('api/posts/', include(

我正在进行Django学习项目,无法使用reverse()解析URL

我试图从在线文档中理解这个概念,但我没能成功

我正在我的views.py中使用
ModelViewSet

在我的测试中.py

POSTS_URL = reverse('posts:posts-list')
这是我发布的URL.py(即应用程序)

这是我在根目录下的url.py

urlpatterns = [
path('admin/', admin.site.urls),
path('api/posts/', include('posts.urls')),
path('docs/', include_docs_urls(title='My API title')),
]
这就是我得到的错误

django.urls.exceptions.NoReverseMatch: Reverse for 'posts-list' not found. 'posts-list' is not a valid view function or patternname.

还有人可以建议一个好地方来正确理解reverse()和路由器是如何协同工作的。

在你的
URL中。py
app\u name
似乎没有被使用,每个默认值(单数),因此
reverse(“post list”)
应该可以工作

如果你想给你的URL命名,你应该做一些类似于
path('api/posts/',include('posts.url','posts'))
的事情,然后
reverse('posts:post list')
应该可以工作。

reverse(“post list”)
也引发了同样的异常:(
django.urls.exceptions.NoReverseMatch: Reverse for 'posts-list' not found. 'posts-list' is not a valid view function or patternname.