导入错误:没有名为“用户”的模块

Jad*_*Han 2 python django

当我运行时python /manage.py runserver,它会生成以下错误。

\n\n
ImportError: No module named \'users\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

我在想这个错误,也许我的应用程序设置有误。

\n\n

$树

\n\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 LICENSE\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 functional_test.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 requirement\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 development.txt\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 production.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 users\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __pycache__\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.cpython-35.pyc\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 tests.cpython-35.pyc\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 views.cpython-35.pyc\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 tests.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 views.py\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wef\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 db.sqlite3\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 manage.py\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wef\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __pycache__\n        \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.cpython-35.pyc\n        \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 settings.cpython-35.pyc\n        \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 urls.cpython-35.pyc\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 settings.py\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 urls.py\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wsgi.py\n
Run Code Online (Sandbox Code Playgroud)\n\n

我认为这不是问题。

\n\n

第二,也许我没有\'users\'插入settings.py

\n\n

在设置.py

\n\n
INSTALLED_APPS = [\n    \'django.contrib.admin\',\n    \'django.contrib.auth\',\n    \'django.contrib.contenttypes\',\n    \'django.contrib.sessions\',\n    \'django.contrib.messages\',\n    \'django.contrib.staticfiles\',\n\n    \'debug_toolbar\',\n    \'django_extensions\',\n\n    \'users\',\n]\n
Run Code Online (Sandbox Code Playgroud)\n\n

我必须仔细检查这些情况。

\n\n

这是我的代码:

\n\n

urls.py

\n\n
from django.conf.urls import url\nfrom django.contrib import admin\n\nfrom users.views import JoinUsView\n\nurlpatterns = [\n    url(r\'^admin/\', admin.site.urls),\n    url(r\'^$\', user, name=\'home\'),\n]\n
Run Code Online (Sandbox Code Playgroud)\n\n

用户/views.py

\n\n
from django.http import HttpResponse\n\n\ndef user(request):\n    return HttpResponse("hello world")\n
Run Code Online (Sandbox Code Playgroud)\n

Ala*_*air 5

您会收到导入错误,因为该users目录不在 Python 路径上。最简单的解决方案是将users目录移动到项目wef目录(包含 的目录manage.py)。

\n\n
\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wef\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 db.sqlite3\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 manage.py\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 users\n    \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n    \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __pycache__\n    ...\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wef\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __pycache__\n        \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.cpython-35.pyc\n        \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 settings.cpython-35.pyc\n        \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 urls.cpython-35.pyc\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 settings.py\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 urls.py\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wsgi.py\n
Run Code Online (Sandbox Code Playgroud)\n\n

这将起作用,因为./manage.py将项目目录添加到 Python 路径。如果该users目录在项目目录之外,那么您必须自己修改 python 路径。

\n