首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ModuleNotFoundError:没有名为“apps”的模块

ModuleNotFoundError:没有名为“apps”的模块
EN

Stack Overflow用户
提问于 2019-03-31 07:55:54
回答 2查看 1.8K关注 0票数 1

我在我的项目中使用了Django 1.9和DRF 3.9.2。在我的urls.py中,我使用了以下代码

代码语言:javascript
运行
复制
from django.conf import settings
from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^api/', include('apps.rest_slack.urls', namespace='rest_slack')),
]

我在rest_slack-urls.py中设置了一个路由器

代码语言:javascript
运行
复制
from django.conf.urls import url
from rest_framework import routers
from rest_slack.views import DRSEventView, DRSCommandView

router = routers.DefaultRouter()
router.register(r'web', DRSEventView)
router.register(r'events', DRSCommandView)

urlpatterns = router.urls

当我尝试运行服务器时,它给我ModuleNotFoundError:没有名为‘应用程序’的模块错误。请告诉我可以做哪些更改?

代码语言:javascript
运行
复制
myproject/
 |-- slack/
 |    |-- rest_slack/                
 |    |    |-- migrations/
 |    |    |    +-- __init__.py
 |    |    |-- __init__.py
 |    |    |-- admin.py
 |    |    |-- apps.py
 |    |    |-- models.py
 |    |    |-- tests.py
 |    |    |-- urls.py
 |    |    +-- views.py
 |    |-- slack/
 |    |    |-- __init__.py
 |    |    |-- settings.py
 |    |    |-- urls.py
 |    |    |-- wsgi.py
 |    +-- manage.py
 +-- venv/
EN

回答 2

Stack Overflow用户

发布于 2019-03-31 08:49:12

欢迎来到Stack Overflow!

当您将一个带点的字符串作为第一个参数传递给include()时,它会尝试导入该路径。如果import apps.rest_slack.urls不能工作,你的include()也不能工作。

从你的文件夹结构来看,你似乎需要使用include('rest_slack.urls', ...)

要确认是否是这种情况,您可以在./manage.py shell中运行import rest_slack.urls,或者简单地在您的slack/urls.py中进行更改并查看它是否工作。

票数 0
EN

Stack Overflow用户

发布于 2019-03-31 12:52:36

从你的项目结构看,你的urls应该这样配置:

代码语言:javascript
运行
复制
from django.conf import settings
from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^api/', include('slack.rest_slack.urls', namespace='rest_slack')),
]

或者,如果这不起作用,请尝试:

代码语言:javascript
运行
复制
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^api/', include('myproject.slack.rest_slack.urls', namespace='rest_slack')),
]

您的项目结构将变为myproject.slack.rest_slack.urls.py。我没有看到任何地方的应用程序文件夹。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55436694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档