Django模块 - 缺乏视图模型



我正在关注山羊测试书。我得到了以下问题。

我正在使用python manage.py runserver运行Django服务器。

但是我有这个错误。

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/andykw/cloned_projects/unit-tests/superlists/superlists/urls.py", line 19, in <module>
    from lists import views
ModuleNotFoundError: No module named 'lists'

我知道应用程序list中有views.py

这就是我在urls.py

中所拥有的
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from lists import views
urlpatterns = ['lists.views',
    #path('admin/', admin.site.urls),
    url(r'^$', views.home_page,name='home'),
]

任何想法都受到欢迎。

更新

这是我的项目

的树结构
├── func_tests.py
├── geckodriver.log
├── lists
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   ├── __init__.py
│   │   └── __pycache__
│   │       └── __init__.cpython-36.pyc
│   ├── models.py
│   ├── __pycache__
│   │   ├── __init__.cpython-36.pyc
│   │   ├── tests.cpython-36.pyc
│   │   └── views.cpython-36.pyc
│   ├── tests.py
│   └── views.py
├── README.md
├── requirements.txt
└── superlists
    ├── manage.py
    └── superlists
        ├── __init__.py
        ├── __pycache__
        │   ├── __init__.cpython-36.pyc
        │   ├── settings.cpython-36.pyc
        │   └── urls.cpython-36.pyc
        ├── settings.py
        ├── urls.py
        └── wsgi.py

尝试用root应用名称指定路径包括:

from superlists.lists import views

编辑:

当您发布了项目结构时,您的lists DJANGO应用似乎是外部您的项目的根目录(./superlists( - 它们在相同的嵌套级别上。

正如Django文档所指定的那样,当您使用manage.py startapp [app-name]创建一个新应用时,它将创建一个使用lists应用结构的文件夹,但是 insem 您的第一个superlists文件夹。这意味着通过设计,您应该拥有这样的东西:

└── superlists
    ├── manage.py
    ├── lists
    │   ├── ...
    └── superlists

,然后我给您的初始答案应该开始工作。

lists文件夹(APP(当前不在项目文件夹之外。将其移入superlists文件夹中。

└── superlists
    ├── manage.py
    ├── lists
    │   ├── admin.py
    │   ├── apps.py
    │   ├── __init__.py
    └── superlists
        ├── __init__.py
        ├── __pycache__
        │   ├── __init__.cpython-36.pyc
        │   ├── settings.cpython-36.pyc
        │   └── urls.cpython-36.pyc
        ├── settings.py
        ├── urls.py
        └── wsgi.py

func_tests.py也有一个奇怪的位置。

最新更新