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'
.
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.
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.
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.
Consulta serving the admin files nella documentazione «Come usare Django con mod_wsgi».
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.
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.
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.
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.
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.
mar 08, 2023