2010-09-04 6 views
1

Je suis en train d'écrire une application dans Django pour surveiller certains services dans un groupe de serveurs. J'aimerais que les vues soient mises à jour périodiquement. Jusqu'à présent, j'ai regardé écrire des commandes d'administration personnalisées (link here) et j'ai des balises {% ifchanged%} dans mon modèle. Je voulais juste savoir si c'est la meilleure approche ou s'il y a une meilleure façon de le faire, comme rafraîchir automatiquement certaines parties de la page Web ou autre chose. Merci.Exécution périodique d'une fonction dans Django

Répondre

2

Si vous voulez exécuter quelque chose périodiquement, je suggérerais de regarder celery tâches (voir here pour un bref tutoriel).

De là, comme Craig Trader mentionné, vous pouvez utiliser AJAX pour vérifier l'état des tâches (django-celery a certains construit en views et urls vous pouvez utiliser).

+0

Merci. J'ai regardé le céleri mais j'ai trouvé le chronographe un peu plus facile à utiliser. –

0

Le ifchanged template tag est vraiment pour quand vous traitez une série d'objets dans un modèle, et que vous voulez faire quelque chose si un champ change d'un objet à l'autre. Cela ne répondra probablement pas à vos besoins.

Si vous souhaitez simplement que les données sauvegardées soient périodiquement mises à jour, il est plus logique d'écrire une commande personnalisée et de l'exécuter périodiquement avec un travail cron. Si vous voulez que l'interface utilisateur s'actualise périodiquement, il y a plusieurs façons de le faire: balises meta-refresh, javascript/jquery, ou même AJAX pour mettre à jour les données affichées.

Questions connexes