无法导入rest\u框架\u simplejwt

2024-06-11 10:31:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经安装了djangorestframework-simplejwt包,并试图在urls.pyviews.py中导入该模块,但它仍然不起作用。请引导我解决这个问题

pip列表

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',)}

url.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]

请帮助我解决此导入错误


Tags: pippathdjangopyrestauthenticationadminframework
2条回答

这源于Python解释器。如果您使用的是虚拟环境,请尝试选择其他venv。就我而言

1-我正在使用自己的venv,导入不成功:

enter image description here

2-但是,当我使用全局python解释器时,导入是可以的:

enter image description here

这样工作的原因可能是我们两个的VENV都有问题

在你的settings.py中,“rest\u framework\u simplejwt”不是一个应用程序,因此你不需要在应用程序列表中写入它

相关问题 更多 >