命名空间存在DRF路由器问题



我很难让反向函数与我的DRF实现一起工作。这是我的urls.py,我假设以下相反的方法适用于它:

urls.py

from django.conf.urls import url, include
from rest_framework import routers
from . import views
router = routers.DefaultRouter()
router.register(r'compressors', views.CompressorViewSet, base_name='compressors')
from django.urls import include, path
# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
url(r'^', include(router.urls, namespace='router')),
url(r'^api-auth/', include('rest_framework.urls', 
namespace='rest_framework'))
]

然后

reverse('router:compressors', kwargs)

我错过了什么?我得到了一个未提供的app_name,添加到该文件中没有帮助。有没有办法让我在路由器上加一个app_name?

事实证明,很难准确找到如何使用basename,我没有在反向中附加"-list"。应该是以下内容,希望这能帮助其他人:

reverse('router:compressors-list')

最新更新