从视图目录导入

Importing from views directory

在我的项目中,我有一个名为 api 的应用程序,我将我的视图集保存在一个名为 views 的目录中。我不断在我的 api/urls.py

中导入 ModuleNotFoundError: No module named 'api.views.book'; 'api.views' is not a package

api/urls.py

from rest_framework import routers
from api.views.book import BookViewset

router = routers.DefaultRouter()

router.register(r'books', BookViewset, 'books')

api_urls = router.urls

在我的主要 urls.py 中,我正在这样做:

urls.py

from django.contrib import admin
from django.urls import path
from django.conf.urls import include
from api.urls import api_urls

urlpatterns = [
    path('api', include(api_urls)),
    path('admin/', admin.site.urls),
]

我在导入之前没有收到错误 api_urls

我应该提到 api 包含在 INSTALLED_APPS

您需要在目录中包含一个名为 __init__.py 的文件以使其成为一个包,然后您可以从中导入

在您的情况下,您需要一个文件 api/views/__init__.py