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 :

Déclaration de formulaire


Sujet :

Django Python

  1. #1
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 049
    Points : 1 380
    Points
    1 380
    Par défaut Déclaration de formulaire
    bonjour.

    J'ai commencé Django il y a 3 jours, j'en suis aux formulaires" et ça fait longtemps que je n'ai pas pratiqué python.

    Dans l'exemple du cours on a:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    from django import forms
     
    class ContactForm(forms.Form):
        sujet = forms.CharField(max_length=100)
        message = forms.CharField(widget=forms.Textarea)
        envoyeur = forms.EmailField(label="Votre adresse mail")
        renvoi = forms.BooleanField(help_text="Cochez si vous souhaitez obtenir une copie du mail envoyé.", required=False)
    Pourquoi crée-t-on une class ContactForm avec des attributs de class, au lieu d'instancier directement forms.Form ?

    Et surtout, par quelle magie Django sait-il dans quel ordre agencer les champs ?

    Merci.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par josmiley Voir le message
    Pourquoi crée-t-on une class ContactForm avec des attributs de class, au lieu d'instancier directement forms.Form ?
    La boîte "class" est ici utilisée pour permettre à l'utilisateur (le développeur) de décrire la "form" qu'il veut construire en donnant la séquence des attributs associés à un type, un message d'aide,...
    On parlera d'interface déclarative car on n'écrit pas vraiment des lignes de code.
    forms.Form est instanciée car c'est une "metaclass" dont "class ContactForm" sera une instance... construite avec des attributs magiques qui permettront au bout du bout, l'accès aux valeurs entrées par l'utilisateur final de la "Form" dans une instance de ContactForm.

    Citation Envoyé par josmiley Voir le message
    Et surtout, par quelle magie Django sait-il dans quel ordre agencer les champs ?
    La metaclass permet de remplacer le "dict" standard d'une classe ou d'une instance par un OrderedDict.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/03/2008, 11h18
  2. [Formulaires] Déclaration objet sous-formulaire
    Par guen dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/06/2007, 13h49
  3. déclaration de formulaire dynamique
    Par Glum147 dans le forum Struts 1
    Réponses: 2
    Dernier message: 07/11/2006, 14h59
  4. déclaration d'un formulaire dynamique
    Par Glum147 dans le forum Struts 1
    Réponses: 6
    Dernier message: 23/10/2006, 16h47
  5. Réponses: 7
    Dernier message: 02/08/2006, 15h51

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