我正在尝试使用ModelViewSet来显示用户,但是由于某些原因,Django似乎不喜欢在project / urls.py中导入UserViewSet。似乎是一个非常愚蠢的错误,但是我对此坚持了一段时间,这令人沮丧。据我所知,代码中没有任何错误,并且导入功能完全正常。我想念什么吗?
Django 2.2.13版
项目/ urls.py
from django_backend.user_profile.views import UserViewSet
router = routers.DefaultRouter()
router.register('user', UserViewSet)
urlpatterns = [
path('accounts/', include(router.urls)),
]
userprofile / views.py
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()#.order_by('-date_joined')
serializer_class = UserSerializer
错误
from django_backend.user_profile.views import UserViewSet
ModuleNotFoundError: No module named 'django_backend'
项目结构
从评论中,我们发现对您的问题的直接答案是:您正在导入django_backend
,这是项目的根目录,但不是其中存在的正式Python包,sys.path
因此无法这样导入。
由于Django设置sys.path
为项目的根目录,因此您将user_profile.views
不需要django_backend
部分导入:
from user_profile.views import UserViewSet
完成此操作后,您可以考虑配置PyCharm以知道该django_backend
文件夹是您的“源根目录”。这将告诉PyCharm在哪里寻找Python代码,从而在尝试从Django目录导入模块时不会显示错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句