IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

Diaporama Publicitaire avec Django


Sujet :

Django Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 11
    Points
    11
    Par défaut Diaporama Publicitaire avec Django
    Bonjour,

    J'aimerais faire un diaporama pour un ami. Je me suis dis que c'était l'occasion d'apprendre et de faire un projet complet avec django. J'ai commencé par lire les supers tutos sur le site https://docs.djangoproject.com. Maintenant que j'ai les bases rudimentaires, je sèche déjà sur le premier problème comment faire la partie dynamique où les slides vont s'afficher? Je pensais faire un template et dans une boucle qui modifie tour à tour les champs.

    Voici, mon premier test qui ne fonctionne pas. Il affiche bêtement le premier champ:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def test(request):
        for var in ['Champs 1', 'Champs 2']:
            return HttpResponse(var)
            sleep(2)
    Comment faire pour que j'ai une boucle et qu'elle modifie dynamiquement mon champs? Auriez-vous peut-être d'autres idées de comment je pourrais procéder pour faire mon diaporama?

    Merci et salutation

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 442
    Points : 37 034
    Points
    37 034
    Par défaut
    Citation Envoyé par xekkos Voir le message
    Comment faire pour que j'ai une boucle et qu'elle modifie dynamiquement mon champs? Auriez-vous peut-être d'autres idées de comment je pourrais procéder pour faire mon diaporama?
    Une requête HTTP est "stateless" (ne se rappelle de rien).
    Par contre vous pouvez retourner une diapo en fonction de son numéro codé dans la requête HTTP: http://monsite/diapos/1
    et faire que dans la page HTML construite par cette requête là il y ait un button "next" qui exécute la requête http://monsite/diapos/2

    - W

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 11
    Points
    11
    Par défaut
    Je vois le problème. J'ai songé à la solution une page par diapo et les appeller les une après les autre, mais juste les diapo doivent tourner sans devoir appuyer sur un bouton "next". Et il possible de mettre cela dans une boucle et que chaque page défile les une après les autres.

    Merci pour votre réponse

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 442
    Points : 37 034
    Points
    37 034
    Par défaut
    Citation Envoyé par xekkos Voir le message
    Je vois le problème. J'ai songé à la solution une page par diapo et les appeller les une après les autre, mais juste les diapo doivent tourner sans devoir appuyer sur un bouton "next". Et il possible de mettre cela dans une boucle et que chaque page défile les une après les autres.
    Rien n'empêche de mettre du code Javascript dans la page HTML qui pourrait faire cela après un temps donné....
    Mais on sort de ce que Django et Python savent/peuvent faire (ils se contentent de fabriquer et expédier la page, exécuter ce qu'il y a dedans, c'est le problème du navigateur/browser Web).

    - W

  5. #5
    Membre éclairé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Octobre 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 312
    Points : 751
    Points
    751
    Par défaut
    xekkos > tes réponses montrent que tu n'as pas encore bien intégré ce qui se passe coté client ou serveur.

    De manière très très résumée, il faut considérer que

    coté client (le navigateur) :
    - tu cliques sur une url de ton application
    - cela crée une requête http envoyée à ton serveur web, qui héberge l'application
    - le navigateur attend la réponse...

    pendant ce temps là, coté serveur :
    - le serveur web (apache, nginx... ou n'importe quel serveur http) transmet ta requête à ton application (django)
    - tes fichiers urls.py sont appelés, et selon l'url de la requête reçu, django trouve le nom de la vue à appeler.
    - Cette vue (une fonction python) renverra le nouveau contenu à afficher : du html au travers d'une template (idéalement), du json, du xml...
    - envoie de la vue.

    retour coté client :
    - le navigateur affiche le nouveau contenu.


    Partant de ces principes, la seule chose qui peut faire avancer ton diaporama automatiquement dans ton navigateur et faire une requête pour obtenir ta nouvelle diapo, c'est une demande provenant de ton navigateur, donc, d'une page DEJA affichée (ta diapo actuelle).

    Pour cela, il faut utiliser JavaScript par exemple (comme cela à été signalé plus haut)

    Tu peux oublier tous les sleep et compagnie lorsque tu fais du web coté serveur. les seuls endroits où il devient utile de temporiser, c'est coté navigateur. Donc javascript, dans les templates.

    Concernant le concept même du diaporama, selon ce qu'il faut afficher (taille et type des contenus), on pourrait imaginer que plusieurs diapos ou toutes soient envoyées à la première requête (avec json). Javascript faisant ensuite le reste sur le navigateur.

Discussions similaires

  1. Diaporama flash avec timer.
    Par da23ad dans le forum Flash
    Réponses: 5
    Dernier message: 29/06/2009, 15h17
  2. [Forum] Script diaporama photo avec fonction "glob"
    Par marc.suisse dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 18/03/2009, 14h02
  3. Débutant avec Django
    Par Jerome38190 dans le forum Django
    Réponses: 2
    Dernier message: 03/02/2009, 15h12
  4. [XHTML] Synchroniser un diaporama flash avec son
    Par lio59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/10/2007, 19h25
  5. Diaporama images avec flèches
    Par cel44 dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 31/05/2007, 15h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo