Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > Réseau/Web
Réseau/Web Forum d'entraide sur Python et le réseau/Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 19/11/2012, 17h44   #1
drlim
Invité de passage
 
Homme
Ingénieur développement logiciels
Inscription : 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
drlim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2012, 16h58   #2
is_null
Inscrit
 
Avatar de is_null
 
Djangonaute Linuxien
Inscription : 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 : 872
Points : 872
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
is_null est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2012, 19h23   #3
drlim
Invité de passage
 
Homme
Ingénieur développement logiciels
Inscription : 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
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 ?
drlim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2012, 15h50   #4
is_null
Inscrit
 
Avatar de is_null
 
Djangonaute Linuxien
Inscription : 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 : 872
Points : 872
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
is_null est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2012, 17h17   #5
drlim
Invité de passage
 
Homme
Ingénieur développement logiciels
Inscription : 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
eh bien merci beaucoup
drlim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2012, 12h00   #6
phi65
Invité régulier
 
Homme
Inscription : 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
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
Type de fichier : png 2.png (17,4 Ko, 24 affichages)
Type de fichier : png 1.png (15,7 Ko, 26 affichages)
Type de fichier : png 3.png (38,0 Ko, 24 affichages)
phi65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h22.


 
 
 
 
Partenaires

Hébergement Web