2010-05-07 2 views
2

Je suis nouveau dans le monde du développement web - ce qui signifie que je suis nouveau à javaScript/CSS. Maintenant, je construis un système web avec Python Django. Je me demandais si vous aimeriez me donner quelques conseils comme point de départ pour ajouter l'interface «tabulée» à l'administrateur de Django?Besoin de "point de départ" des conseils sur l'ajout de l'interface "tabulation" à Django administrateur

Par exemple, il existe 3 tables de détail pour une table principale, et je souhaite utiliser 3 onglets différents pour éditer les 3 tables de détail dans la page 'modifier' de la table principale. Merci d'avance!

Répondre

3

Tout d'abord, vous devez décider si résoudre ceci avec javascript ou en remplaçant les modèles. Les deux sont de bonnes solutions en fonction de vos besoins.

Un moyen facile à faire, et une première approche vous pouvez prendre pour commencer à tester est de mettre chaque onglet dans un autre fieldset et faire ensuite une interface à onglets pour afficher/cacher les. Les avantages c'est que c'est un moyen très simple de le faire, un inconvénient que vous n'avez pas beaucoup de flexibilité sans commencer à changer beaucoup de DOM avec javascript. Vous devez prendre en considération que si vous changez d'onglet, l'utilisateur peut oublier qu'il a changé quelque chose et quitter sans enregistrer, donc une alerte qu'il quitte la page et ne l'enregistre pas est toujours une bonne idée.

Une autre approche consiste à remplacer le modèle change_form pour ce modèle particulier et à lier de nouveaux onglets à la même URL mais avec des paramètres GET différents, par exemple. .../mymodel /? active_tab = 2 et vérifiez cela dans le template/view et restituez le contenu approprié. Le pro le plus notable de faire de cette façon est que l'utilisateur n'a pas besoin d'avoir javascript activé. Vous pouvez consulter comment django-cmsdoes it. Il a une très belle interface à onglets pour changer entre différentes langues. L'une des meilleures façons de décider comment commencer à faire quelque chose est de vérifier comment les autres l'ont fait. Naviguez le code source, installez-le et commencez à expérimenter!

Espérons que cela aide.

EDIT

Une autre approche est par exemple here. Il est plus facile de parcourir le patch attaché que le code complet de django-cms. À votre santé.

+0

Merci Rasca, il me semble que j'ai besoin d'en savoir plus sur les choses html/JS ... –

Questions connexes