Ich habe versucht, die Funktion zum Löschen von Kommentaren zu machen, wenn der Benutzer auf die Schaltfläche klickt, löscht er das relevante Element und leitet zur Hauptseite um. Allerdings habe ich diese Fehlermeldung erhalten und ich verbringe Zeit, dies zu beheben. Bitte überprüfen Sie meinen Code und wenn etwas nicht stimmt.Django: Umleiten der Hauptseite nach dem Löschen des Objekts
Fehlermeldung
UnboundLocalError at /blog/detail/18/
local variable 'context' referenced before assignment
views.py
@login_required
def delete_comment(request, comment_no):
comment = Comment.objects.get(pk=comment_no).delete()
return redirect('blog/home.html')
urls.py
url(r'^delete_comment/(?P<comment_no>[0-9]+)/$', views.delete_comment, name='delete_comment'),
templates
<form action="{% url 'blog:delete_comment' %}" method="post">
{% csrf_token %}
<input type="hidden" name="comment_no" value="{{ comments.comment_no }}" />
<button type="submit">delete</button>
</form>
EDIT 01
Ich habe Detail def in views.py
@login_required
def detail(request, article_no):
if not request.user.is_authenticated():
return redirect_to_login(next, 'blog/login.html')
else:
user = request.user
if 'username' in request.session:
username = request.session['username']
item = get_object_or_404(Article, pk=article_no)
item.hit = Article.objects.filter(pk=article_no).update(hit = item.hit+1)
no = article_no
comments = Comment.objects.filter(article_no=article_no)
context = {
'item': item,
'comments': comments,
}
return render(request, 'blog/detail.html', context)
Können Sie die Ansichtsmethode für Details freigeben? Der Fehler gibt an, dass dort etwas falsch ist – Fallen
@Fallen Ich fügte Detailmethode in views.py hinzu. – camila
Ist das die genaue Einrückung, die Sie in Ihrem 'def detail' verwendet haben? Ihr zweiter 'if'-Block ist leicht fehlausgerichtet. – ooknosi