首页 > 解决方案 > python命名错误,未定义名称'ArticleDetailView'

问题描述

这是我遇到的问题:

File "C:\simpleblog\ablog\myblog\urls.py", line 8, in <module>
    path('article/<int:pk>',ArticleDetailView.as_view(), name='article-detail'),
NameError: name 'ArticleDetailView' is not defined

我的 urls.py:

    from django.urls import path
    from .views import HomeView

    urlpatterns = [
        path('article/<int:pk>',ArticleDetailView.as_view(), name='article-detail'),
    ]

在我的views.py中我已经明确定义了,下面是我的views.py:

    from django.shortcuts import render
    from django.views.generic import ListView, DetailView
    from .models import Post

    class HomeView(ListView):
        model = Post
        template_name = 'home.html'

    class ArticleDetailView(DetailView):
        model = Post
        template_name = 'article_details.html'

我该如何解决这个问题?

标签: pythondjangonameerror

解决方案


您还需要专门导入ArticleDetailView

from .views import HomeView, ArticleDetailView

通常,如果您使用一个不错的 IDE,该软件会告诉您您缺少导入,并会就如何解决它提出建议。


推荐阅读