首页 > 解决方案 > 如何在 djoser 2.0.3 中使用 UserViewSet?

问题描述

我是 Djoser 的新手,我正在努力使用这些功能UserView, UserViewCreate, UserViewDelete来更新、创建和删除用户。

我目前使用的代码url_patterns是:

from django.conf.urls import re_path
from djoser import views as djoser_views

urlpatterns = [
    re_path(r'^user/view/$', djoser_views.UserView.as_view(), name='user-view'),
    re_path(r'^user/delete/$', djoser_views.UserDeleteView.as_view(), name='user-delete'),
    re_path(r'^user/create/$', djoser_views.UserCreateView.as_view(), name='user-create'),

]

当我使用 UserView 时,我收到以下错误:

AttributeError: module 'djoser.views' has no attribute 'UserView'

我阅读了 djoser 文档并看到:

UserCreateView, UserDeleteView, UserView, PasswordResetView,SetPasswordView, PasswordResetConfirmView, SetUsernameView, ActivationView, and
ResendActivationView

这些功能都已被删除并由 UserViewSet 中的适当子视图替换。

我搜索但找不到任何使用方法UserViewSet。有什么方法可以UserViewSet在 djoser 2.0.3 中使用吗?

标签: djangodjango-rest-frameworkdjango-viewsdjoser

解决方案


你可以试试

urlpatterns = [
    re_path(r'^user/view/$', djoser_views.UserViewSet.retrieve.as_view(), name='user-view'),
    re_path(r'^user/delete/$', djoser_views.UserViewSet.destroy.as_view(), name='user-delete'),
    re_path(r'^user/create/$', djoser_views.UserViewSet.create.as_view(), name='user-create'),

]

但我建议遵循那里的文档并使用文档中的库。


推荐阅读