# Django 6.0.7 - dokumentacja

# Często zadawane pytania: Panel administracyjny

## Nie mogę się zalogować. Kiedy wprowadzam poprawne nazwę użytkownika i hasło, pokazuje się tylko znów strona logowania, bez powiadomień o błędzie.

Ciasteczko logowania nie jest ustawiane poprawnie, ponieważ domena ciasteczka wysyłana przez Django nie pasuje do domeny w twojej przeglądarce. Spróbuj zmienić ustawienie `SESSION_COOKIE_DOMAIN`, aby zgadzało się z twoją domeną. Na przykład jeśli używasz adresu „https://www.example.com/admin/” w swojej przeglądarce, ustaw `SESSION_COOKIE_DOMAIN = 'www.example.com'`.

## Nie mogę się zalogować. Kiedy wprowadzam poprawne nazwę użytkownika i hasło, pokazuje się znów strona logowania, z błędem „Proszę wprowadzić poprawną nazwę użytkownika i hasło”.

Jeśli jesteś pewien, że twoja nazwa użytkownika i hasło są poprawne, upewnij się czy twoje konto ma `is_active` i `is_staff` ustawione na True. Panel administracyjny pozwala na dostęp jedynie takim użytkownikom, którzy te dwa pola mają ustawione na True.

## Jak automatycznie ustawić wartość pola na użytkownika, który ostatni edytował obiekt w panelu administracyjnym?

Klasa `ModelAdmin` daje customizacyjne zaczepy, które pozwolą ci zmieniać obiekt zapisując go, przy użyciu szczegółowych danych z żądania. Wyjmując bieżącego użytkownika z żądania i zmieniając „zaczep” `django.contrib.admin.ModelAdmin.save_model()`, możesz zaktualizować obiekt tak, aby miał powiązanie z użytkownikiem, który go edytował. W dokumentacji metod ModelAdmin znajdziesz przykład.

## Jak mogę ograniczyć dostęp administratora tak, by obiekty mogły być edytowane tylko przez użytkowników, którzy je stworzyli?

Klasa `ModelAdmin` daje również customizacyjne zaczepy, któe pozwalają na kontrolę widoczności i edytowalności obiektów w adminie. Używając tego samego triku wyjęcia użytkownika z żądania, `get_queryset()` i `has_change_permission()` mogą być użyte do kontroli widoczności i edytowalności obiektów w adminie.

## CSS i grafiki mojego panelu administracyjnego wyświetliły się poprawnie na serwerze deweloperskim, ale nie wyświetlają się, kiedy używam mod_wsgi.

Przeczytaj serwowanie plików panelu administracyjnego w dokumentacji „Jak używać Django z mod_wsgi”.

## Moje „list_filter” zawiera ManyToManyField, ale filtr się nie wyświetla.

Django nie zawraca sobie głowy wyświetlaniem filtru dla `ManyToManyField` jeśli nie ma powiązanych obiektów.

Na przykład jeśli twoje `list_filter` zawiera sites a w bazie danych nie masz obiektów site, nie wyświetli filtru „Site”. W tym przypadku filtrowanie byłoby bez sensu.

## Niektóre obiekty nie pojawiają się w panelu administracyjnym.

Niezgodne liczby wierszy mogą wynikać z brakujących wartości kluczy obcych lub polem klucza obcego niepoprawnie ustawionym na `null=False`. Jeśli masz wpis z `ForeignKey` wskazującym na nieistniejący obiekt i ten klucz obcy jest zawarty w `list_display`, wpis nie będzie widoczny na changeliście panelu administracyjnego, ponieważ model Django deklaruje wiąz spójności, który nie jest zaimplementowany na poziomie bazy danych.

## Jak mogę dostosować funkcjonalność interfejsu panelu administratora?

Masz kilka możliwości. Jeśli chcesz wskoczyć na barana formularzowi add/change, który Django generuje automatycznie, możesz załączyć dodatkowy moduł JavaScript do strony przez parametr js klasy Admin modelu. Ten parametr jest listą URL-i, jako ciągów znaków, wskazujących na moduły JavaScript, które będą włączone do formularza admina przez tag `<script>`.

Jeśli chcesz więcej elastyczności niż przez szczypanie automatycznie wygenerowanych formularzy, czuj się wolny, aby pisać własne widoki w adminie. Admin jest napędzany przez samo Django i możesz pisać własne widoki, które wpinają się w system uwierzytelniania, sprawdzają uprawnienia i robią wszystko, co potrzebują zrobić.

Jeśli chcesz dostosować look-and-feel interfejsu admina, przeczytaj następne pytanie.

## Dynamicznie generowana strona panelu administracyjnego jest brzydka! Jak mogę ją zmienić?

Nam się podoba, ale jeśli tobie nie, możesz zmodyfikować prezencję panelu administracyjnego zmieniając arkusz stylów i/lub związane z nim pliki grafik. Strona jest zbudowana przy użyciu sematycznego HTML-a i wielu hooków CSS, więc każda zmiana, którą chciałbyś zrobić, powinna być możliwa przez zmianę arkusza stylów.

## Jakie przeglądarki internetowe są wspierane przez panel administracyjny?

Panel administracyjny zapewnia w pełni funkcjonalne doświadczenie na bieżących wersjach nowoczesnych, zgodnych ze standardami, przeglądarkach. Na desktopie oznacza to przeglądarki Chrome, Edge, Firefox, Opera, Safari i inne.

Na komórkach i tabletach, panel administracyjny wspiera responsywne doświadczenie dla przeglądarek zgodnych ze standardami. Wliczają się w to główne przeglądarki zarówno na Androida jak i iOS.

W zależności od cech przeglądarki mogą występować mniejsze różnice w stylistyce pomiędzy przeglądarkami. Te różnice są uważane za dopuszczalne w renderingu.

## Jakie technologie asystujące są obsługiwane przy korzystaniu z panelu administracyjnego?

Panel administracyjny jest projektowany tak, aby był kompatybilny z szeroką gamą technologii asystujących, jednak obecnie istnieje wiele blokad. Celem wsparcia są najnowsze wersje wszystkich głównych technologii asystujących, w tym Dragon, JAWS, NVDA, Orca, TalkBack, Voice Control, VoiceOver iOS, VoiceOver macOS, motywy wysokiego kontrastu systemu Windows, ZoomText oraz lupy ekranowe.