Timmy 的视图代码片段仍然缺少一个导入语句并且没有返回响应。这是相同的代码,更新到现在外部的 django_comments 应用程序(django 1.6+):
from django.shortcuts import get_object_or_404
import django.http as http
from django_comments.views.moderation import perform_delete
from django_comments.models import Comment
def delete_own_comment(request, id):
comment = get_object_or_404(Comment, id=id)
if comment.user.id != request.user.id:
raise Http404
perform_delete(request, comment)
return http.HttpResponseRedirect(comment.content_object.get_absolute_url())
这将在没有任何消息的情况下重定向回原始页面(但可能会少一条评论)。
为此视图注册一个 URL:
url(r'^comments/delete_own/(?P<id>.*)/$', delete_own_comment, name='delete_own_comment'),
然后直接修改comments/list.html包含:
{% if user.is_authenticated and comment.user == user %}
<a href="{% url 'delete_own_comment' comment.id %}">--delete this comment--</a>
{% endif %}