如何在DefaultRouter()中进行反转 [英] How to make a reverse in DefaultRouter()
本文介绍了如何在DefaultRouter()中进行反转的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在设置一个新测试,我想做个相反的事情。
I'm setting up a new tests, and i want to make an reverse.
router = DefaultRouter()
router.register('profile', views.UserProfileViewSet, base_name='profile')
urlpatterns = [
url(r'', include(router.urls))
]
UserProfileViewSet
UserProfileViewSet
class UserProfileViewSet(viewsets.ModelViewSet):
"""Handles creating, creating and updating profiles."""
serializer_class = serializers.UserProfileSerializer
permission_classes = (permissions.UpdateOwnProfile,)
authentication_classes = (TokenAuthentication,)
queryset = get_user_model().objects.all()
所以,我想在tests.py中做个相反的事情。我的镜头是:
So , i want make a reverse in tests.py. my shot is:
CREAT_USER_URL = reverse('profile-create')
我只是得到:
'profile-create的反向' 未找到。 'profile-create'不是有效的视图函数或模式名称。
Reverse for 'profile-create' not found. 'profile-create' is not a valid view function or pattern name.
在这种情况下,我应该如何设置反向设置。
How should I set up a reverse in this case.
推荐答案
您应使用 配置文件列表
而不是 profile-create
CREAT_USER_URL = reverse('profile-<b>list</b>')
没有URL为 {base_name}-创建
,如果要使用创建端点,请使用 {base_name} -list
。
There is no URL as {base_name}-create
, If you wanna use create endpoint, use {base_name}-list
.
有关更多信息,请参阅此表
这篇关于如何在DefaultRouter()中进行反转的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文