在Django Rest Framework中测试ViewSet反向获取路由名称失败
urls.py:
# course chapter without lesson
course_chapter_router = DefaultRouter()
course_chapter_router.register(r'', courses.views.CourseChapterViewSet,
base_name='chapters')
# URL Patterns
urlpatterns = [
# course courses
url(r'^chapters/', include(course_chapter_router.urls)),
]
class GetAllChapterTest(TestCase):
def test_get_all_multi(self):
request = APIRequestFactory().get(reverse('chapters:chapters-list'))
print(request)
view = ChapterViewSet.as_view({'get': 'retrieve'})
course = Course.objects.create(course_code='xadf', title='Python', brief='a dynamic langiage', description='similar to Java, C')
chapter = Chapter.objects.create(course=course, number=2, title='第二章', description='Code Language')
print(chapter)
#course = Course.objects.create(course_code='xadf', title='Python', brief='a dynamic langiage', description='similar to Java, C')
response = view(request, pk=chapter.pk)
print(response)
使用 django-extensions 然后 ./manage.py show_urls 即可看到你的路由以及对应的名称