【发布时间】:2022-11-16 04:05:36
【问题描述】:
我搜索了与我自己的问题类似的其他问题,但没有找到解决方案,所以我希望有人能帮助我找出我哪里出错了。
我正在尝试在我的博客程序中实现删除帖子选项,但是一旦您单击“删除”按钮,它就会抛出以下错误:
在 /18/delete/ 配置不当 Deletepost 缺少 QuerySet。定义 Deletepost.model、Deletepost.queryset 或覆盖 Deletepost.get_queryset()。
我几乎可以肯定它是我的 URLS.py 的问题,尽管我无法弄清楚到底是什么。
以下是有问题的代码:
视图.py
# delete post
class Deletepost(LoginRequiredMixin, DeleteView):
form_class = Post
success_url = reverse_lazy('blog:home')
template_name = 'templates/post.html'
def test_func(self):
post = self.get_object()
if self.request.user == post.author:
return True
return False
网址.py
urlpatterns = [
# home
path('', views.postslist.as_view(), name='home'),
# add post
path('blog_post/', views.PostCreateView.as_view(), name='blog_post'),
# posts/comments
path('<slug:slug>/', views.postdetail.as_view(), name='post_detail'),
# edit post
path('<slug:slug>/edit/', views.Editpost.as_view(), name='edit_post'),
# delete post
path('<int:pk>/delete/', views.Deletepost.as_view(), name='delete_post'),
# likes
path('like/<slug:slug>', views.PostLike.as_view(), name='post_like'),
]
post.html
<a class="btn btn-outline-danger" href="{% url 'delete_post' post.id %}">Delete</a>
感谢您的宝贵时间,我很抱歉提出这个琐碎的问题,但你们比我聪明得多!
【问题讨论】:
标签: python django django-views django-urls blogs