AttributeError:Django,Python中的模块

时间:2018-07-11 08:48:10

标签: python django attributeerror

出现以下错误

null

ecom / src / ecom / url.py

File "C:\Users\abc\Projects\ecom\src\ecom\urls.py", line 33, in <module>
path('products/', views.ProductListView.as_view()),
AttributeError: module 'ecom.views' has no attribute 'ProductListView'

ecom / src / products / views.py

from products.views import ProductListView, product_list_view

from . import views

urlpatterns = [
path('', views.home_page),
path('login/', views.login_page),
path('register/', views.register_page), 
path('products/', views.ProductListView.as_view()),
path('products-fbv/', views.product_list_view),
path('admin/', admin.site.urls),
]

尝试更改urlpatterns和产品无效。

1 个答案:

答案 0 :(得分:0)

您可以指定views.py文件为ecom/src/products/views.py。因此,这意味着该模块为products.views。您实际上已经导入了。但是在urls.py中,您编写了views.ProductListView,而那个views模块实际上是ecom之一。因此,您不应该通过views.ProductListView来引用它,例如,像您一样导入它,然后直接引用它。

如果您要引用此视图,可以使用:

from products.views import ProductListView, product_list_view

from . import views

urlpatterns = [
    path('', views.home_page),
    path('login/', views.login_page),
    path('register/', views.register_page), 
    path('products/', ProductListView.as_view()),
    path('products-fbv/', product_list_view),
    path('admin/', admin.site.urls),
]