无法导入rest_framework_simplejwt

问题描述

我已经安装了 djangorestframework-simplejwt 包并尝试在 urls.pyviews.py 中导入该模块,但仍然无法正常工作。请指导我解决这个问题。

点列表

Package                       Version
----------------------------- -------
asgiref                       3.3.1
Django                        3.1.4
djangorestframework           3.12.2
djangorestframework-simplejwt 4.6.0
pip                           20.2.3
PyJWT                         1.7.1
pytz                          2020.4
setuptools                    49.2.1
sqlparse                      0.4.1

设置.py

INSTALLED_APPS = [
'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','Django_MedicalApp','rest_framework','rest_framework_simplejwt',]


REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES':
                  ['rest_framework_simplejwt.authentication.JWTAuthentication',],'DEFAULT_PERMISSION_CLASSES': 
('rest_framework.permissions.AllowAny','rest_framework.permissions.IsAuthenticatedOrReadOnly',)}

urls.py

from rest_framework_simplejwt.views import TokenObtainPairView
router = routers.DefaultRouter()
router.register('Company',views.CompanyViewset,basename='Company')


urlpatterns = [
path('admin/',admin.site.urls),path('api/',include(router.urls),path('api/token/',TokenObtainPairView.as_view(),name='token_obtain_pair'))]

views.py

from rest_framework_simplejwt.authentication import JWTAuthentication

class CompanyViewset(viewsets.ViewSet):
    authentication_classes = [JWTAuthentication]

请帮我解决这个导入错误

解决方法

在您的 settings.py 中,'rest_framework_simplejwt' 不是应用程序,因此您无需将其写入应用程序列表中。