在 Python 中使用 Django - 尝试导入时未定义视图
Posted
技术标签:
【中文标题】在 Python 中使用 Django - 尝试导入时未定义视图【英文标题】:Using Django with Python - Views is not defined when trying to import 【发布时间】:2020-07-11 00:21:51 【问题描述】:我正在研究以下关于 Django 和 Python 的 YT 视频,因为我正在寻找制作我的第一个应用程序并尝试了解 Django 的工作原理:
https://www.youtube.com/watch?v=F5mRW0jo-U4
我正在向名为 Pages
的应用程序添加新视图并尝试从该应用程序导入视图,但由于某种原因不断收到:
NameError: 'views' 未定义。我确信这是我所缺少的一些小东西,因为我对 python 的一般性和导入都是新奇的。这是我当前的代码:
from django.contrib import admin
from django.urls import path
#from Pages import views
from Pages.views import homepage_view, toybox_view, lounge_view, gym_view
urlpatterns = [
path('', views.homepage_view, name='home'),
path('toybox/', views.toybox_view, name='toybox'),
path('lounge/', views.lounge_view, name='lounge'),
path('gym/', views.gym_view, name='gym'),
path('admin/', admin.site.urls),
]
第二个'from'语句不起作用-注释掉的语句确实起作用,我只是想对我的导入更具体。我有一个包含我的项目的“src”文件夹 - DogtopiaWeb 和两个应用程序,Dogs 和 Pages。 Pages 应用程序内部是我尝试使用上述 from 语句导入的 views.py。
知道为什么它无法识别 Pages 应用目录中的 views.py 吗?我将它导入到 DogopiaWeb 项目内部的 urls.py 中。
第一个屏幕截图是我的根目录,其中包含 manage.py 以及两个应用程序和主项目。第二个屏幕截图位于“页面”应用程序中,显示了导入无法识别的 views.py 文件。
谢谢!
【问题讨论】:
【参考方案1】:问题是您不需要来自您的应用程序Pages
的views
,您已经将特定视图导入到:
from Pages.views import homepage_view, toybox_view, lounge_view, gym_view
所以使用以下内容:
urlpatterns = [
path('', homepage_view, name='home'),
path('toybox/', toybox_view, name='toybox'),
path('lounge/', lounge_view, name='lounge'),
path('gym/', gym_view, name='gym'),
path('admin/', admin.site.urls),
]
或者如果您想使用views.name_of_your_view
,您需要导入您已注释from Pages import views
的行并删除另一行。
【讨论】:
以上是关于在 Python 中使用 Django - 尝试导入时未定义视图的主要内容,如果未能解决你的问题,请参考以下文章