Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : avril 2011
    Messages : 13
    Points : 3
    Points
    3

    Par défaut composant web avec Django

    Bonjour,

    Je viens de basculer vers python pour développer des application web. je voudrais savoir est ce qu'il existe des bibliothèques de composants, comme icefaces ou bien primefaces pour java, qu'on peut intégrer avec django?

    merci

  2. #2
    Inscrit Avatar de is_null
    Profil pro
    Djangonaute Linuxien
    Inscrit en
    octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : Espagne

    Informations professionnelles :
    Activité : Djangonaute Linuxien

    Informations forums :
    Inscription : octobre 2006
    Messages : 642
    Points : 866
    Points
    866

    Par défaut

    D'abord il ne faut pas confondre Python et Django. Python étant le langage comme Java et Django étant un framework comme Struts (je suppose, je ne connais pas Java).

    Question "bibliothèques" pures et dure, c'est au niveau de Python que ca se passe - et on appelle ça des modules. A ce jour, PyPi recense ~25K bibliothèques. Certaines sont mieux que d'autre, il faut savoir qu'il est extrêmement facile pour un programmeur python avec un peu d’expérience de partager ses bibliothèques via la plateforme standard de Python. Je penses que c'est du aux origines de Python qui sont bien plus imprégnées de l'univers Open Source que Java.

    Je m'avancerais jusqu’à dire que pour un dev Java, Python doit être un sacrément chouette bol d'air.

    Bref, du coté de Django, on a des "apps". Des "apps" sont des modules Python mais structurés spécialement pour Django. Par conséquents, les apps sont installables comme des modules Python, soit directement depuis un dépot de sources, soit depuis le serveur central PyPi - et ce avec une simple ligne de commande.

    Plus que de simples bibliothèques, une app peut embarquer:

    - models (objets persistents pré-configurés),
    - templates
    - vues
    - urls
    - fichiers statiques
    - configuration de l'admin
    - et plus, selon les autres apps installées, certaines apps s'integrent optionnellement avec d'autres,

    Il existe toutes sortes d'apps. Certaines se contentent de fournir par exemple des models Country/Region/City avec une commande de mise a jour, c'est le cas de django-cities et django-cities-light. D'autres fournissent un systeme de notification email avec une vue de configuration pour l'utilisateur comme django-notifications. D'autres fournissent des commandes en plus comme django-extensions ou django-south ... enfin, certaines ne s’occupent que de toutes petites taches comme django-autocomplete-light qui fournit un autocomplete polyvalent spécialement fait pour Django.

    Le but étant de diviser les projets en unités simples et réutilisables, mais aussi de se partager le boulot ! Il est tres commun de voir des projets utiliser des apps privées / spécifiques au projet, des apps open source financées par le projet, et des apps open sources externes financées par d'autres projets.

    Beaucoup sont référencées sur djangopackages.com, mais une recherche pour "django" sur github.com montre ~65K résultats ... Il y a à boire et a manger comme on dit !
    Blog / Github / StackOverflow

    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

  3. #3
    Invité de passage
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : avril 2011
    Messages : 13
    Points : 3
    Points
    3

    Par défaut

    Merci pour l'explication (en fait je ne confondais pas python et django).
    Maintenant je vais reformuler ma question : au niveau des templates django, est ce qu'il est possible d'intégrer des composants ajax comme des tabs, des panel popup (Si vous voulez voir exactement de quoi je parle faites un tour ici) ...etc ?

  4. #4
    Inscrit Avatar de is_null
    Profil pro
    Djangonaute Linuxien
    Inscrit en
    octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : Espagne

    Informations professionnelles :
    Activité : Djangonaute Linuxien

    Informations forums :
    Inscription : octobre 2006
    Messages : 642
    Points : 866
    Points
    866

    Par défaut

    En fait, on peut mettre ce qu'on veut dans les templates, que ce soit pour Django ou autre.

    Ce qui fabrique les tabs ce n'est pas Django, c'est le navigateur.

    Le navigateur utilise le HTML, qui est généré par le serveur Django qui utilise les templates.

    Donc la réponse est oui. D'ailleurs, je recommande d'utiliser le framework HTML/CSS Twitter-bootstrap, qui permet de faire des tabs, modals, et bien plus, plutot facilement.
    Blog / Github / StackOverflow

    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

  5. #5
    Invité de passage
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : avril 2011
    Messages : 13
    Points : 3
    Points
    3

    Par défaut

    eh bien merci beaucoup

  6. #6
    Invité régulier
    Homme Profil pro
    Inscrit en
    août 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : août 2012
    Messages : 7
    Points : 8
    Points
    8

    Par défaut

    Citation Envoyé par is_null Voir le message
    D'ailleurs, je recommande d'utiliser le framework HTML/CSS Twitter-bootstrap, qui permet de faire des tabs, modals, et bien plus, plutot facilement.
    Pour compléter, la réponse d' is_null voici deux exemples qui utilisent twitter-bootstrap.

    1) Avec une fenêtre modal:



    2) un date-range picker:



    3) Avec une application django ("crispy_forms):



    Le template se résume à ceci:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    {% extends "blog/base.html" %}
    {% load crispy_forms_tags %}
    {% block title %}
        Ma page de modifications
    {% endblock %}
    {% block content %}
    	<div class='row-fluid'>
    		<div class='span8 offset2'>
                {% crispy form form.helper %}
    		</div>
    	</div>
    {% endblock %}
    Le reste du code pour le formulaire est en python.

    Pour bien commencer tu peux consulter http://forum.django-fr.org/viewtopic.php?id=874
    Images attachées Images attachées
    • Type de fichier : png 2.png (17,4 Ko, 26 affichages)
    • Type de fichier : png 1.png (15,7 Ko, 28 affichages)
    • Type de fichier : png 3.png (38,0 Ko, 26 affichages)

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •