Συχνές Ερωτήσεις: Το admin site¶
Δε μπορώ να συνδεθώ. Όταν εισάγω τα σωστά username και password, επαναφορτώνεται η ίδια login σελίδα, χωρίς μηνύματα σφάλματος.¶
Το cookie που αφορά το login δεν έχει σεταριστεί σωστά, επειδή το domain του cookie που έστειλε το Django δεν ταιριάζει με το domain στον browser σας. Δοκιμάστε να θέσετε τη ρύθμιση SESSION_COOKIE_DOMAIN
μέσα στο γενικό αρχείο ρυθμίσεων ούτως ώστε να ταιριάζει με το domain σας. Για παράδειγμα, αν επισκέπτεστε τη σελίδα «https://www.example.com/admin/» με τον browser, τότε στο γενικό αρχείο ρυθμίσεων του project σας, «myproject.settings», θα θέσετε τη ρύθμιση SESSION_COOKIE_DOMAIN
= “www.example.com”.
Δε μπορώ να συνδεθώ. Όταν εισάγω τα σωστά username και password, επαναφορτώνεται η ίδια login σελίδα, με ένα σφάλμα που λέει «Παρακαλώ εισάγετε το σωστό username και κωδικό».¶
Εάν είστε σίγουροι ότι το όνομα χρήστη και ο κωδικός σας είναι σωστά, σιγουρευτείτε ότι η τιμή της ρύθμισης is_active
και is_staff
, του λογαριασμού σας, είναι True. Το admin site επιτρέπει την είσοδο μόνο σε άτομα που η τιμή και των δύο αυτών πεδίων είναι True.
Πως μπορώ να σετάρω μια τιμή ενός πεδίου πάνω στον χρήστη που αλληλεπίδρασε τελευταίος με κάποιο object μέσω του admin;¶
Η κλάση ModelAdmin
παρέχει παραμετροποιήσιμα hooks τα οποία σας επιτρέπουν να επιδράσετε με ένα object πριν και μετά την αποθήκευση του, χρησιμοποιώντας πληροφορίες από το request. Αντλώντας τον τρέχον χρήστη από το request και κάνοντας override τη μέθοδο (ή hook, αν θέλετε) save_model()
, μπορείτε να αλλάξετε το object προκειμένου να δείχνει στον user που το άλλαξε. Δείτε στο εγχειρίδιο σχετικά με τις μεθόδους του ModelAdmin για παραδείγματα.
Πως μπορώ να περιορίσω την πρόσβαση στο admin site ούτως ώστε τα objects να τα επεξεργάζονται μόνο οι χρήστες που τα δημιούργησαν;¶
Η κλάση ModelAdmin
παρέχει, επίσης, επιπλέον hooks (μεθόδους, αν θέλετε) τα οποία σας επιτρέπουν να ελέγχετε την προβολή ή όχι καθώς και την δυνατότητα επεξεργασίας των objects στο admin. Χρησιμοποιώντας την ίδια μέθοδο άντλησης του user από το request, οι μέθοδοι get_queryset()
και has_change_permission()
μπορούν να χρησιμοποιηθούν προκειμένου να ελέγξετε την προβολή ή όχι καθώς και την δυνατότητα επεξεργασίας των objects στο admin.
Τα αρχεία CSS και οι εικόνες δουλεύουν στο admin-site μου χρησιμοποιώντας τον development server, αλλά όχι όταν χρησιμοποιώ το mod_wsgi.¶
Δείτε στο εξυπηρετώντας τα αρχεία του admin μέσα στο εγχειρίδιο «Πως να χρησιμοποιήσω το Django με το mod_wsgi».
Η επιλογή «list_filter» περιέχει ένα πεδίο τύπου ManyToManyField, αλλά το φίλτρο δεν εμφανίζεται.¶
Το Django δεν θα εμφανίσει το φίλτρο για πεδία τύπου ManyToManyField
αν υπάρχουν λιγότερα από δύο συσχετισμένα objects.
Για παράδειγμα, αν η επιλογή list_filter
περιέχει τα sites και υπάρχει μόνο ένα site στη βάση δεδομένων σας, το φίλτρο «Ιστότοποι» δεν θα εμφανιστεί. Δεν έχει νόημα να φιλτράρετε κάτι αν υπάρχει μόνο ένα αποτέλεσμα!
Μερικά objects δεν εμφανίζονται στο admin.¶
Inconsistent row counts may be caused by missing foreign key values or a
foreign key field incorrectly set to null=False
. If you have a record with a
ForeignKey
pointing to a nonexistent object and
that foreign key is included is
list_display
, the record will not be
shown in the admin changelist because the Django model is declaring an
integrity constraint that is not implemented at the database level.
Πως μπορώ να παραμετροποιήσω τη λειτουργία του admin interface;¶
Έχετε πολλές επιλογές. Αν θέλετε να ενεργήσετε πάνω στη φόρμα προσθήκη/αλλαγή που το Django δημιουργεί αυτόματα, μπορείτε να εφαρμόσετε δικά σας JavaScript modules στη σελίδα, μέσω της παραμέτρου js parameter της κλάσης Admin του μοντέλου. Αυτή η παράμετρος είναι στην ουσία μια λίστα με URLs, σαν strings, τα οποία δείχνουν σε JavaScript modules τα οποία θα συμπεριληφθούν στην φόρμα του admin μέσω του tag <script>
.
If you want more flexibility than is feasible by tweaking the auto-generated forms, feel free to write custom views for the admin. The admin is powered by Django itself, and you can write custom views that hook into the authentication system, check permissions and do whatever else they need to do.
Αν θέλετε να αλλάξετε την εμφάνιση του, διαβάστε την επόμενη ερώτηση.
Το δυναμικά παραγόμενο admin site είναι άσχημο! Πως μπορώ να το αλλάξω;¶
Μας αρέσει, αλλά αν διαφωνείτε, μπορείτε να αλλάξετε την εμφάνιση του επεξεργάζοντας τα αρχεία CSS και/ή τις εικόνες. Το site χτίστηκε χρησιμοποιώντας semantic HTML και πολλά CSS hooks κάτι το οποίο σημαίνει ότι όποιες αλλαγές θελήσετε να κάνετε δεν έχετε παρά να επεξεργαστείτε τα αρχεία CSS.
Ποιους browsers υποστηρίζει το admin;¶
Το admin παρέχει πλήρη λειτουργικότητα για τους YUI’s A-grade browsers, με εξαίρεση τον IE6, ο οποίος δεν υποστηρίζεται.
Υπάρχει πιθανότητα να υπάρχουν κάποιες μικρές στυλιστικές διαφορές μεταξύ των υποστηριζόμενων browsers. Για παράδειγμα, μερικοί μπορεί να μην υποστηρίζουν τις στρογγυλεμένες γωνίες. Αυτά θεωρούνται αποδεκτές διαφοροποιήσεις στο rendering.