【问题标题】:Using Django with Python - Views is not defined when trying to import在 Python 中使用 Django - 尝试导入时未定义视图
【发布时间】: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 文件。

谢谢!

【问题讨论】:

    标签: python django view undefined


    【解决方案1】:

    问题是您不需要来自您的应用程序Pagesviews,您已经将特定视图导入到:

    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 的行并删除另一行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-28
      • 2018-01-22
      • 2019-09-05
      • 2014-02-01
      • 2023-01-25
      • 2021-12-25
      • 2013-01-16
      相关资源
      最近更新 更多