从视图目录导入
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
在我的项目中,我有一个名为 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