Je souhaite avoir un compteur de pages qui affiche le nombre de visiteurs ayant consulté une page particulière sur mon site. Est-il possible de le faire en utilisant Django?Compteur des pages dans Django
Répondre
Il existe une application Django pour ce problème appelée django-hitcount. Il est facile à utiliser et réutilisable dans tous vos projets.
ses bons outils im utilisé merci beaucoup – mohammadmonther
bonne application, merci beaucoup! – inoks
Un "compteur de pages", c'est quoi? Une donnée persistante qui est mise à jour par les fonctions d'affichage et affichée par un modèle.
Comme vous le savez sans doute, toutes les choses Django ont les parties suivantes.
- Modèle
- Voir Fonction
- Modèle
Modèle
Si vous voulez garder le compteur de pages dans la base de données, vous avez besoin d'un modèle Django.
class PageCounter(Model):
Vous devez mettre une ligne dans ce modèle. Habituellement, un "appareil" aidera à faire cela, car c'est une ligne et vous ne le mettez en une seule fois en faisant une syncdb.
Voir Fonction
Ensuite, vous devez chercher et mettre à jour le compteur de pages dans votre fonction de vue.
pageCounter= PageCounter.objects.all()[0]
pageCounter.count += 1
pageCounter.save()
Modèle
Maintenant, vous devez fournir la valeur à vos modèles afin qu'il puisse être affiché.
merci pour cette idée ... – mohammadmonther
qu'en est-il des actualisations de page? – maazza
ouais @Lott qu'en est-il des rafraîchissements de page, pouvons-nous faire -> créer un champ avec manytomany relation avec l'utilisateur dans la poste et incrémenter le compteur d'utilisateur dans la vue détaillée de la poste, puis nous pouvons afficher les vues en comptant le nombre des utilisateurs dans le domaine, Mais cela ne fonctionnera pas pour Utilisateur anonyme – babygame0ver
Je sais que c'est un vieux message mais parfois les gens pourraient avoir la même question.
Si vous voulez éviter une bibliothèque tiers et éviter que le compteur étant mis à jour à chaque rafraîchir la page, vous pouvez effectuer les opérations suivantes mixin (bâtiment sur la réponse de S. Lott)
class BlogPostCounterMixin(object):
def get_context_data(self, **kwargs):
context = super(BlogPostCounterMixin, self).get_context_data(**kwargs)
blog_post_slug = self.kwargs['slug']
if not blog_post_slug in self.request.session:
bp = BlogPost.objects.filter(slug=blog_post_slug).update(counter=+1)
# Insert the slug into the session as the user has seen it
self.request.session[blog_post_slug] = blog_post_slug
return context
Il vérifie si le modèle accessible a été stocké dans la session. S'il a été stocké dans la session, il ignore l'incrémentation, sinon il incrémente le compteur et ajoute le slug du modèle à la session, ce qui empêche les incréments pour les actualisations de page.
Remarque: Ceci est un Mixin dont vous avez besoin pour ajouter à votre vue.
- 1. Servir des pages Django sécurisées avec HTTPS
- 2. FPDI, comment supprimer le compteur de pages automatique
- 3. Comment implémenter un compteur de pages Web fiable?
- 4. Compteur de pages vues utilisant PHP et MySQL?
- 5. Redirection de pages Python + Django
- 6. Django 404 pages n'apparaissent pas?
- 7. Compteur d'image dans JSP
- 8. Compteur HIt dans JSF
- 9. Comment créer un compteur de pages vues fiable et robuste dans une application Web?
- 10. Django, formulaire de connexion dans les pages d'accueil et autres?
- 11. Django itère toutes les pages à plat dans un modèle
- 12. Compteur de trafic ASP.NET MVC
- 13. Compteur de vitesse dans Jquery
- 14. Incrémenter un compteur dans VXML
- 15. Compteur de progression dans Cocos2D
- 16. Rédaction d'un simple compteur incrémentiel dans des rails
- 17. redirection de pages avec des pages inconnues
- 18. Ajout d'un compteur UITabBarController qui ressemble au compteur d'attente des éléments de la boîte de réception
- 19. Mnogosearch saute des pages
- 20. Comptage des pages vues
- 21. Vidéo Vu compteur
- 22. télécharger des pages asp.net
- 23. Widgets personnalisés utilisant MooTools sur les pages d'administration de Django
- 24. Compteur atomique en gcc
- 25. Ouvrir des pages dans une nouvelle fenêtre
- 26. Capturer des pages Web dans Adobe AIR
- 27. Comptage des pages dans un fichier PDF
- 28. Portée des pages dans une application Silverlight
- 29. Comment concaténer des pages Web dans ASP.NET
- 30. Comment créer des pages personnalisées dans dasBlog?
Merci pour vos conseils ..... Je suis désolé mais mon anglais est peu – mohammadmonther