我很难让反向函数与我的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')