В фрагменте кода Тимми для представления все еще отсутствовал один оператор импорта, и он не возвращал ответ. Вот тот же код, обновленный до теперь внешнего приложения 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 %}