Ich erstelle einen Blog mit Django, und ich möchte die Ansichten für jeden Beitrag zählen. Ich nenne diese Funktion, wenn ein Benutzer liest den Blog-Eintrag:fix django Ansichten Zähler
def post_detail(request, post_id):
if 'viewed_post_%s' % post_id in request.session:
pass
else:
print "adding"
add_view = Post.objects.get(id=post_id)
add_view.views += 1
add_view.save()
request.session['viewed_post_%s' % post_id] = True
return render(request, 'blog/detail.html', {'Post': Post.objects.get(id=post_id)})
Das Problem ist, dass, wenn sich abzumelden und sich erneut anzumelden, die Post Ansichten wieder erhöhen. Warum löscht Django die Sitzungen, wenn sich der Benutzer abmeldet und wie kann ich das beheben?
nein, es ist zu zählen, auch wenn der Benutzer zuvor die Post angesehen: ( –
i UserSeenPosts im Admin-Panel registriert und Wenn ein Benutzer einen Beitrag anzeigt, erstellt er kein UserSeenPosts-Objekt, warum –
@mohammedqudah siehe bitte die aktualisierte Antwort –