Python django-导入错误:没有名为&x27;仪表板';
我正在尝试使用Python3.4在django 1.9中滚动我自己的仪表板。在主项目应用程序url.py文件中,我试图包含来自新仪表板应用程序的url.py文件 目录结构 相关文件 pic/pic/pic/url.py pic/pic/apps/dashboard/url.py pic/pic/apps/dashboard/views.py pic/pic/pic/settings/base.py(选定的相关部件) 访问/控制面板时收到错误/ <代码>导入/仪表板/ 没有名为“dashboard”的模块 请求方法:获取 请求URL:http://dev.pic.com/dashboard/ Django版本:1.9.6 异常类型:ImportError 异常值: 没有名为“dashboard”的模块 异常位置:/home//Repositories/Websites/pic/venv/lib/python3.4/importlib/\uuuuu init\uuuuuu.py,在导入模块的第109行 Python可执行文件:/home//Repositories/Websites/pic/venv/bin/uwsgi Python版本:3.4.3 Python路径: ['.', '', “/home//Repositories/Websites/pic/venv/lib/python3.4”, “/home//Repositories/Websites/pic/venv/lib/python3.4/plat-x86_64-linux-gnu”, “/home//Repositories/Websites/pic/venv/lib/python3.4/lib dynload”, “/usr/lib/python3.4”, “/usr/lib/python3.4/plat-x86_64-linux-gnu”, “/home//Repositories/Websites/pic/venv/lib/python3.4/site packages'] 服务器时间:2016年6月26日星期日14:49:07-0700 笔记 127.0.0.1/admin/正常工作并正确加载管理员登录。我知道这很好。 尝试访问127.0.0.1/dashboard/时,我收到上述错误 使用django shell时,我可以从应用程序导入仪表板成功执行Python django-导入错误:没有名为&x27;仪表板';,python,django,python-3.4,Python,Django,Python 3.4,我正在尝试使用Python3.4在django 1.9中滚动我自己的仪表板。在主项目应用程序url.py文件中,我试图包含来自新仪表板应用程序的url.py文件 目录结构 相关文件 pic/pic/pic/url.py pic/pic/apps/dashboard/url.py pic/pic/apps/dashboard/views.py pic/pic/pic/settings/base.py(选定的相关部件) 访问/控制面板时收到错误/ 导入/仪表板/ 没有名为“dashboard”的模块
dashboard.models
返回正确的输出,但是dashboard.url
抛出一个“属性错误:'module'对象没有属性“url”。我不确定这些额外的信息是否有用,但我认为这是一种奇怪的行为。在尝试调试此问题时发现它
背景
我熟悉django的旧版本,因为我已经维护了1.7项目大约5个多月。我的python经验并不丰富,但我目前靠这样做谋生。不过,我仍然经常学习django和python
谢谢你抽出时间来复习我的问题。我本来不希望在这里发帖,但4个小时后我没有取得任何进展。我希望在你的帮助下我能解决这个问题 您是否尝试过url(r'^dashboard/',include('apps.dashboard.url'),
?您的apps
目录似乎缺少\uuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuupy
文件。@alecxe我确实尝试过。不幸的是,这个问题仍然存在。我确实收到一个新的错误,说明无法找到模块pic.apps
,而不是仪表板
“无法找到模块pic.apps
”pic.apps
要求PYTHONPATH/sys.path比manage.py
高一个目录级别(我假设这是在使用dev服务器)。错误显示底部的路径列表既不显示相关目录的完整路径(也就是“代码>”/首页/ /存储库/网站/ PIC< /代码>),也不显示相对目录(即…PIC.Appps<代码> >。更改您的导入,或考虑移动<代码>管理> Py <代码>一个目录。(或者调整你的PYTHONPATH,但这感觉像是最后的手段)。[继续之前的评论]将manage.py
向上移动一个目录似乎是一个合乎逻辑的选择,因为如果您将项目作为Python包安装在站点包中,pic
将是包,而不是apps
。并且您不希望在包中包含manage.py
,它不是包。这样您的导入(pic.apps.dashboard
)也有意义。
venv/
pic/
docs/
(developer notes, deployment notes, etc)
pic/
__init__.py
manage.py
test.py
apps/
__init__.py
dasboard/
migrations/
static/
__init__.py
admin.py
apps.py
models.py
test.py
urls.py
views.py
core/
(other stuff unrelated to issue)
pic/
media/
settings/
static/
__init__.py
urls.py
wsgi.py
from django.conf.urls import url
from django.conf.urls import include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^dashboard/', include('dashboard.urls')),
]
from django.conf.urls import url
from pic.apps.dashboard import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
from django.http import HttpResponse
# Create your dashboard views here.
def index(request):
return HttpResponse("Hello, world. You're at the dashboard index.")
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'apps.core',
'apps.dashboard',
]
ROOT_URLCONF = 'pic.urls'
ImportError at /dashboard/
No module named 'dashboard'
Request Method: GET
Request URL: http://dev.pic.com/dashboard/
Django Version: 1.9.6
Exception Type: ImportError
Exception Value:
No module named 'dashboard'
Exception Location: /home/<user>/Repositories/Websites/pic/venv/lib/python3.4/importlib/__init__.py in import_module, line 109
Python Executable: /home/<user>/Repositories/Websites/pic/venv/bin/uwsgi
Python Version: 3.4.3
Python Path:
['.',
'',
'/home/<user>/Repositories/Websites/pic/venv/lib/python3.4',
'/home/<user>/Repositories/Websites/pic/venv/lib/python3.4/plat-x86_64-linux-gnu',
'/home/<user>/Repositories/Websites/pic/venv/lib/python3.4/lib-dynload',
'/usr/lib/python3.4',
'/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/home/<user>/Repositories/Websites/pic/venv/lib/python3.4/site-packages']
Server time: Sun, 26 Jun 2016 14:49:07 -0700