如何在DefaultRouter()中进行反转 [英] How to make a reverse in DefaultRouter()

查看:59
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆