Besoin « point de départ » des conseils sur l'ajout d'interface « onglets » à Django admin

StackOverflow https://stackoverflow.com/questions/2788179

  •  04-10-2019
  •  | 
  •  

Question

Je suis nouveau dans le monde du développement web - cela signifie que je suis nouveau javaScript / CSS. Maintenant, je vais construire un système web avec Python Django. Je me demande ce que vous voulez me donner quelques conseils comme point de départ pour l'ajout d'interface « onglets » à Django admin?

Par exemple, il y a 3 table de détail pour une table maître, et je veux utiliser 3 onglets différents pour l'édition que 3 tables de détail dans la page « modifier » pour la table principale. Merci d'avance!

Était-ce utile?

La solution

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

Un facile façon de faire, et une première approche que vous pouvez prendre pour commencer à tester est de mettre chaque onglet dans un autre fieldset et ensuite faire une interface à onglets pour afficher / cacher les. pros de c'est qu'il est un moyen très facile de le faire, un contre que vous n'avez pas beaucoup de souplesse sans commencer à changer de beaucoup DOM avec JavaScript.

Vous devez prendre en considération le fait que si vous changez d'onglet l'utilisateur peut oublier qu'ils ont changé quelque chose et congé sans enregistrer, donc une alerte qu'ils quittent la page et n'épargnent pas, il est toujours une bonne idée.

Une autre approche consiste à remplacer le modèle de change_form pour ce modèle particulier et lier de nouveaux onglets à la même URL, mais avec différents paramètres GET, par exemple. ... / mymodel /? Active_tab = 2 et vérifier dans le modèle / vue et rendre le contenu correspond le. Le plus pro notable de le faire de cette façon est que l'utilisateur n'a pas besoin d'avoir le javascript activé.

Vous pouvez vérifier comment django-cm le fait . Il dispose d'une interface à onglets très agréable de changer entre les langues différentes. Une des meilleures façons de décider comment commencer à faire quelque chose est la vérification de comment les autres ont fait. Navigateur le code source, l'installer et commencer à expérimenter!

Hope this helps.

EDIT

Une autre approche est par exemple ici . Il est plus facile d'aller juste à travers le patch joint que le code django-CMS complet. Vive.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top