FAQ: Amministrazione

Non riesco ad accedere. Quando inserisco un nome utente e una password validi, viene visualizzata nuovamente la pagina di accesso, senza messaggi di errore.

Il cookie di login non è settato correttamente perchè il dominio del cookie generato da Django non corrisponde con il dominio nel tuo browser. Prova ad impostare l’opzione SESSION_COOKIE_DOMAIN corrispondente al tuo dominio. Per esempio, se stai andando a «https://www.example.com/admin/» nel tuo browser, imposta SESSION_COOKIE_DOMAIN = 'www.example.com'.

Non posso fare log in. Quando inserisco nome utente e password validi, ripropone di nuovo la pagina di login con l’errore: «Please enter a correct username and password».

Se sei sicuro che il tuo nome utente e la tua password sono corretti, controlla che il tuo account utente abbia gli attributi is_active e is_staff impostati a True. Il sito di Amministrazione permette l’accesso solo agli utenti con entrambi questi campi impostati a True.

Come imposto automaticamente il valore di un campo all’utente che ha modificato per ultimo l’oggetto in Amministrazione?

La classe ModelAdmin fornisce metodi di personalizzazione che permettono di trasformare un oggetto quando viene salvato, usando dettagli dalla richiesta. Estraendo l’utente corrente dalla richiesta, e personalizzando il metodo save_model(), puoi aggiornare un oggetto in modo da riflettere l’utente che lo ha modificato. Per un esempio, vedi la documentazione sui metodi della classe ModelAdmin.

Come è possibile limitare l’accesso per gli admin in modo da rendere gli oggetti modificabili solamente dagli utenti che li hanno creati?

La classe ModelAdmin fornisce anche metodi per la personalizzazione che ti permettono di controllare la visibilità e la modificabilità di oggetti in amministrazione. Usando lo stesso stratagemma di estrarre l’utente dalla richiesta, i metodi get_queryset() e has_change_permission() possono essere usati per controllare la visibilità e modificabilità di oggetti in amministrazione.

I CSS e le immagini del sito di amministrazione funzionano bene utilizzando il server di sviluppo, ma non vengono mostrate quando si usa mod_wsgi.

Consulta serving the admin files nella documentazione «Come usare Django con mod_wsgi».

Il mio «list_filter» contiene un ManyToManyField, but non viene mostrato alcun filtro.

Django non si preoccuperà di mostrare un filtro per un ManyToManyField se non ci sono oggetti collegati.

Per esempio se il tuo list_filter include siti e non ci sono siti nel tuo database, non mosterà un filtro «Sito». In quel caso, filtrare per sito non avrebbe senso.

Alcuni degli oggetti non appaiono nella sezione admin.

Il conteggio di righe incongruente potrebbe essere causato da mancate valori delle foreign key oppure da un field foreign key incorretto impostato a null=False. Se hai un record con una ForeignKey che punta ad un oggetto inesistente e quella foreign key è inclusa in list_display, il record non potrà essere visualizzato nella changelist admin a causa del fatto che modello Django richiede un vincolo di integrità che non è implementato a livello database.

Come posso personalizzare la funzionalità dell’interfaccia di amministrazione?

Hai parecchie possibilità. Se ti vuoi appoggiare su una form di aggiunta/cambiamento che Django genera automaticamente, puoi collegare alla pagina moduli JavaScript qualunque, tramite la classe del modello Admin js parameter. Questo parametro è una lista di URL, in forma di stringhe, che puntano a moduli JavaScript che saranno inclusi nella form di amministrazione tramite un tag <script>.

Se vuoi più flessibilità di quanto sia possibile modificando le form autogenerate, sei libero di scrivere viste personalizzate per l’amministrazione. L’amministrazione è attuata da Django e puoi scrivere viste personalizzate che si agganciano al sistema di autenticazione, controllare le autorizzazioni e fare quant’altro sia necessario.

Se vuoi personalizzare l’aspetto dell’interfaccia di amministrazione, leggi la prossima domanda.

La parte di amministrazione auto generata è bruttina! Come posso modificarla?

A noi piace, ma se non sei daccordo, puoi modificare l’aspetto del sito di amministrazione cambiando i fogli stile CSS e/o i file delle immagini associate. Il sito è costruito usando HTML semantico e un sacco di agganci a CSS, perciò ogni cambiamento che desideri fare è possibile tramite i fogli stile.

Quali browser sono supportati durante l’utilizzo della parte di amministrazione?

La sezione di amministrazione fornisce una completa compatibilità con le versioni più recenti dei browser e conforme agli standard del web. In ambiente Desktop questo significa: Chrome, Edge, Firefox, Opera, Safari e altri.

Su dispositivi mobili e tablet, la sezione di amministrazione fornisce un’interfaccia responsive per i browser conformi agli standard web. Ciò include i principali browser su Android e iOS.

A seconda delle funzionalità, potrebbero esserci piccole differenze stilistiche tra i browser. Queste sono considerate variazioni accettabili nella visualizzazione.

Back to Top