2 votes

Expérience de psychologie en Python (avec Django) - comment la convertir en une application web interactive?

Je suis en train d'écrire une expérience de psychologie en Python et j'ai besoin de la rendre disponible en tant qu'application web. J'ai déjà réussi à faire fonctionner Python comme un programme en ligne de commande. Sur recommandation d'un ami en informatique, j'utilise Django avec une base de données sqlite. Tout fonctionne, mon serveur de développement est en ligne et les tables de la base de données sont prêtes et en attente.

Ce que je ne comprends pas, c'est comment relier ces deux éléments. Les tutoriels Django que j'ai trouvés concernent tous la construction de choses comme des blogs, des systèmes de messagerie ou des sondages ; des systèmes basés sur l'envoi de données de formulaire. Je ne peux pas faire cela, car je mesure les réponses à des stimuli présentés en millisecondes - j'ai besoin de construire une application interactive qui ne repose pas (pendant l'exercice) sur les données de formulaire POST ou les changements d'URL.

En résumé : je n'ai aucune idée de comment passer de mon simple programme en ligne de commande à une application web interactive en "temps réel".

Des ondes positives pour des liens vers des tutoriels pertinents ! J'apprécierai également beaucoup une explication de haut niveau du concept que je ne saisis pas ici.

(Pour information, j'ai posé une question précédente (choix de la base de données) concernant ce projet ici)

3voto

msc Points 2448

Vous allez devoir utiliser HTML/Javascript, puis vous pourrez collecter et envoyer les résultats au serveur. Cependant, les résultats peuvent être truqués, car le code de l'exercice va être côté client.

Éditer: Je recommande une bibliothèque Javascript, jQuery: http://docs.jquery.com/Tutorials

Éditer 2:

Je vais être un peu plus spécifique, vous avez besoin d'au moins deux modèles dans Django, Exercise et ExecutedExercise. Exercise aura des champs avec son nom, son numéro, etc., des données génériques pour chaque exercice. ExecutedExercise aura deux champs, une clé étrangère vers Exercise, et un champ pour stocker combien de temps cela a pris pour terminer.

Maintenant en Javascript, vous allez chronométrer les exercices, puis les envoyer à une vue Django qui va gérer le stockage des données. Comment les envoyer ? Vous pourriez utiliser http://api.jquery.com/jQuery.post/ Créez la chaîne de données, data = { e1: timingE1, e2: timingE2 } et envoyez-la à la vue. Vous pouvez gérer les paramètres POST dans cette vue, créer un objet ExecutedExercise (vous aurez le temps pris pour chaque exercice) et les sauvegarder.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X