AttributeError: module 'posts.views' has no attribute 'add_comment_to_post'

AttributeError: module 'posts.views' has no attribute 'add_comment_to_post'

我是 python 的新手,在编辑 views.py 时向我的 djang 项目添加评论选项,同时输入

python3 manage.py runserver

终端显示如下:

File "/home/user/Documents/DJANGO-COURSE-2.xx/DJANGO_COURSE_2.xx/21-Social_Clone_Project/simplesocial/posts/urls.py", line 12 , in path('post//comment/', views.add_comment_to_post, name='add_comment_to_post'), AttributeError: module 'posts.views' has no attribute 'add_comment_to_post'

以及views.py和urls.py文件:

问题是函数的缩进不正确。

add_comment_to_post 当前是先前定义的 class 的一部分(例如具有函数 delete)。

因此,如果您更改缩进,错误就会消失,例如


class MyView(...):
    ...
    def delete(self, *args, **kwargs):
        messages.success(self.request, 'Post Deleted')
        return super().delete(*args, **kwargs)


# next method should not have the same indentation of `delete`
def add_comment_to_post(request, pk):
    ....