python-3.x 我试图使用from . import视图将views.py导入到urls.py,但我一直收到导入错误

2o7dmzc5  于 4个月前  发布在  Python
关注(0)|答案(1)|浏览(76)
from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path("", views.home),
    path("predict/", views.predict),
    path("predict/result", views.result)

字符串
回溯是
文件“C:\Users\user\PycharmProjects\Diabetes Prediction\Diabetes_Prediction\Diabetes_Prediction\urls.py”,第19行,来自. import视图ImportError:尝试相对导入,没有已知的父包

d5vmydt9

d5vmydt91#

您将项目级别urls.py与应用程序urls.py混淆。您的项目urls.py位于包含settings.py的目录中。它应该如下所示:

from django.contrib import admin
from django.urls import path, include

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

字符串
你的应用urls.py应该在你的应用目录中创建,也就是你有视图和模型的目录。在那个目录中创建一个名为urls.py的文件。它应该看起来像这样:

from django.urls import path

from . import views

app_name = 'myapp'
urlpatterns = [
    path(" ", views.home),
    path("predict/", views.predict),
    path("predict/result", views.result)


OP没有在settings.py中写入应用程序名称。请在settings.py中包含您的应用程序名称,如下所示:

INSTALLED_APPS = [
    # Default apps
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # My apps
    'myapp',     
]

请阅读,因为你似乎混淆了很多东西。也阅读我包括的文档典型的Django项目由一个或多个应用程序组成。您使用命令django-admin startproject your_project_name .创建您的项目,并使用以下命令python manage.py startapp your_app_name创建您的应用程序。请确保您没有混淆两者。还请确保您将应用程序名称包含在INSTALLED_APPS列表中。settings.py更多信息请参见docs

相关问题