Django, Нет модуля с именем "myapp".
введите описание изображения здесь
PS C:\Users\taipe\firstproject> & C:/Users/taipe/AppData/Local/Programs/Python/Python312/python.exe c:/Users/taipe/firstproject/firstproject/urls.py
Traceback (последний последний вызов):
Файл "c:\Users\taipe\firstproject\firstproject\urls.py", строка 19, in
from myapp.views import sayhello,sayhello2,hello3
ModuleNotFoundError: Нет модуля с именем 'myapp'
PS C:\Users\taipe\firstproject>
введите описание изображения здесь
Я не знаю, почему возникает проблема "нет модуля с именем "myapp"".
Однако в моем "первом проекте" действительно есть папка "myapp".
добавьте "..." и попробуйте.
from ..myapp.views import {something}
Пара исправлений:
- Когда вы создавали свой проект Django, он поставлялся с уровнем проекта
urls.py
, который можно найти в каталоге проекта. Я могу видеть это в вашем проекте. В идеале, вы должны использовать его для настройки URL-адресов для администратора и включения ваших приложений. Похоже, вы не сделали этого дляmyapp
в этом urls.py. Он должен выглядеть так:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path("myapp/", include("myapp.urls")),
path("admin/", admin.site.urls),
]
- Поскольку вы создали свое приложение под названием
myapp
в вашем случае, у вас должен быть уровень приложения urls.py. В отличие от глобальногоurls.py
, он не будет создан автоматически. Поэтому создайте файл с именемurls.py
в директории вашего приложения (где у вас есть models.py, views.py и т. д.) и сопоставьте ваши URL с вашими представлениями (предполагается, что у вас есть sayhello, sayhello2, hello3 в вашем views.py). Ваше приложениеurls.py
должно выглядеть следующим образом:
from django.urls import path
from . import views
urlpatterns = [
path("", sayhello),
path("sayhello2/<str:username>/", sayhello),
path("hello3/<str:username>/", hello3),
]
- Убедитесь, что вы добавили
myapp
кINSTALLED_APPS
в вашейsettings.py
:
INSTALLED_APPS = [
# your app
"myapp.apps.MyappConfig", # add this
# default apps
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
]
- Похоже, вы не используете виртуальное окружение. Django настоятельно рекомендует, чтобы ваши проекты находились в виртуальной среде с установленным в ней Django. Смотрите docs о том, как правильно установить Django.
- Я предлагаю вам посетить официальный учебник и следовать шагам по созданию проекта, приложений и других конфигураций.
прежде всего, большое спасибо за помощь. Мне все еще требуется некоторое время, чтобы разобраться в проблемах!!!
надеюсь все вы здоровы и счастливы каждый день~люблю вас ребята~