Need “punto di partenza” suggerimenti circa l'aggiunta di interfaccia “a schede” per Django Admin

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

  •  04-10-2019
  •  | 
  •  

Domanda

Sono nuovo al mondo dello sviluppo web - Questo significa che sono nuovi a JavaScript / CSS. Ora sto costruendo un sistema web con Python Django. Mi chiedo Vorresti darmi qualche suggerimento come punto di partenza per l'aggiunta di interfaccia "a schede" per Django di amministrazione?

Per esempio, ci sono 3 tabella di dettaglio per una tabella principale, e voglio utilizzare 3 schede diverse per la modifica che 3 tavoli dettaglio nella pagina di 'modifica' per la tabella principale. Grazie in anticipo!

È stato utile?

Soluzione

Prima di tutto è necessario decidere se risolvere questo con javascript o sovrascrivendo i modelli. Entrambi sono buone soluzioni a seconda delle vostre esigenze.

Un semplice modo per fare questo, e un primo approccio si può prendere per iniziare a testare questo è quello di mettere ogni scheda in un diverso fieldset e poi fare un'interfaccia a schede per mostrare / nasconderli. E 'pro è che si tratta di un modo molto semplice per farlo, un contro che non si dispone di una grande flessibilità, senza cominciare a cambiare di molto DOM con javascript.

Si dovrebbe prendere in considerazione che se si cambia le schede l'utente potrebbe dimenticare hanno cambiato qualcosa e uscire senza salvare, in modo da un avviso che stanno lasciando la pagina e non risparmio è sempre una buona idea.

Un altro approccio è quello di sovrascrivere il template change_form per quel particolare modello e collegare nuove schede allo stesso URL, ma con parametri diversi GET, per esempio. ... / MyModel /? Active_tab = 2 e controllare questo nel modello / vista e rendere il contenuto appropriata. Il più pro notevole di farlo in questo modo è che l'utente non ha bisogno di avere javascript abilitato.

È possibile verificare come django-cms fa . Ha una bella interfaccia a schede di cambiare tra i diversi linguaggi. Uno dei modi migliori per decidere come iniziare a fare qualcosa sta controllando come gli altri lo facevano. Browser il codice sorgente, installarlo e iniziare a sperimentare!

Spero che questo aiuti.

Modifica

Un altro approccio è ad esempio qui . E 'più facile andare solo attraverso il cerotto attaccato che il codice completo Django-CMS. Cin cin.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top