擅长:python、mysql、java
<p>我刚碰到这个问题。在</p>
<p>只要在comments应用程序的delete视图中重新实现逻辑,就可以将您的实现与comments应用程序的特定版本相结合。例如,当你将某个内容标记为已删除,而提供的版本没有这样做时,comment应用程序实际也会处理信号。在</p>
<p>幸运的是,comments应用程序提供了一个不需要任何权限就可以实现核心删除逻辑的功能。使用它会将你自己与内部细节联系在一起,但它以一种非常具体的方式来实现,它要么会崩溃,要么会起作用,它永远不会半途而废。您可以使用自己的安全模型创建自己的视图,然后调用提供的注释应用程序函数(从django.contrib.comments.评论.观点.适度导入执行删除)</p>
<p>代码如下所示:</p>
<pre>
@login_required
def delete_my_comment(request, comment_id, next=None):
comment = get_object_or_404(comments.get_model(), pk=comment_id)
if comment.user == request.user:
if request.method == "POST":
perform_delete(request, comment)
return redirect("your_view", comment.content_object.id)
else:
return render_to_response('comments/delete.html',
{'comment': comment, "next": next},
RequestContext(request))
else:
raise Http404
</pre>
<p>您的详细信息将根据您的用例而有所不同。在</p>
<p>我已经经历了一些变化(你可以在这个评论的历史中看到),我认为这个在所有方面都比这里提供的原始解决方案更好。在</p>