ModuleNotFoundError: No Module Named не может понять, почему - PullRequest
0 голосов
/ 30 мая 2020

собираюсь получить простой http-ответ из представления во вложенном приложении, но каким-то образом имеет эту ошибку, которая не может определить, в чем проблема.

urls.py проекта

from django.contrib import admin
from django.urls import path, include
from django.http import HttpResponse, HttpRequest
# from .corex import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('corex.urls')),
]

app [ corex] urls.py

from django.urls import path, include
from . import views

urlpatterns = [
    path('', views.testcorex, name='testcorex'),
]

app views.py

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def testcorex(request):
    return HttpResponse('module passed')

ошибка трассировки

File "/home/differentmonster/App/x_house_project/x_house_backend/x_house_cms/urls.py", line 11, in <module>
    path('', include('corex.urls')),
  File "/root/.cache/pypoetry/virtualenvs/x-house-cms-p6EwdKv_-py3.8/lib/python3.8/site-packages/django/urls/conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'corex

установленное приложение не должно вызывать проблем, если я импортирую corex .views прямо в root urls.py, ответ работает. но после добавления url.py в приложение модуль не может быть найден. и я использую стихи для venveniroment и django 3.0.6.

спасибо, ребята

Ответы [ 2 ]

0 голосов
/ 31 мая 2020

Хорошо, я понял, что проблема возникла из папки структурирования.

x_house_project[level_1]

-x_house_project[level_2]

  --corex[level_3]
  --urls.py
  --views.py

-urls.py
-settings.py

manage.py

в root URL-адресах, если я изменю corex на x_house_project / corex, все будет хорошо, но я не могу понять django логично, потому что, если settings.py INSTALLED_APPS уже настроил путь, а logi c запускается из root urls.py, более странно помещать путь к папке x_house_project?

0 голосов
/ 30 мая 2020

Firsteval, вы должны проверить, есть ли corex в ваших INSTALLED_APPS в settings.py.

Затем будьте осторожны с именем вашего файла, вы звоните corex.urls, но в своем сообщении вы назовите свой файл url.py (без множественного числа).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...