我有一个Post模型的项目,那就是基本帖子。我想在每个帖子页面上创建一个链接,以便能够删除该帖子(具有适当的安全性)。通过html链接删除Django中的对象
关于堆栈溢出,有几个问题,但我似乎无法找到一个完整的,可行的答案(我使用Django 1.7),当我执行它时不会抛出错误。
我已经能够实现可以正常工作的删除功能,但需要添加一个带CSRF标记的POST表单进行验证,并且还要检查删除它的用户是否是创建它的用户。我似乎无法弄清楚如何在添加这两个
到目前为止,在我的views.py:
def delete(request, id):
post = Post.objects.filter(pk=id).delete()
return HttpResponseRedirect(reverse('posts.views.all_posts'))
在urls.py:
url(r'^delete/(?P<id>\d+)/$','posts.views.delete'),
在HTML:
<a href="/delete/{{ post.id }}">Delete</a>
这一切都有效,但没有安全保障 - 因此,如何添加表单并检查指导意见。
此外,我看到一个使用DeleteView的答案,但无法让它工作。
我只是想澄清,如果用户需要登录才能查看所有帖子? – catherine 2014-10-02 06:19:43