DJANGO_SETTINGS_MODULE
?¶Σιγουρευτείτε ότι:
DJANGO_SETTINGS_MODULE
is set to a
fully-qualified Python module (i.e. «mysite.settings»).sys.path
(το import mysite.settings
θα πρέπει να δουλεύει).Τυγχάνει να πιστεύουμε ότι η μηχανή των templates μας είναι ότι καλύτερο συνέβη μετά το μπέϊκον αλλά αναγνωρίζουμε την δυνατότητα επιλογής ανάμεσα σε γλώσσες templates η οποία είναι καθαρά υποκειμενική. Το Django δεν απαιτεί να χρησιμοποιήσετε τη δική του template γλώσσα, οπότε αν θέλετε μπορείτε να χρησιμοποιήσετε τις Jinja2, Mako, ή οποιαδήποτε άλλη επιθυμείτε.
Όχι. Όπως ακριβώς με το σύστημα των templates έτσι και το επίπεδο των μοντέλων/βάσεις δεδομένων είναι απόλυτα διαχωρισμένο από το υπόλοιπο framework.
Η μοναδική εξαίρεση είναι η εξής: Αν χρησιμοποιήσετε μια διαφορετική βιβλιοθήκη βάσης δεδομένων, δε θα έχετε στη διάθεση σας το αυτόματα-παραγόμενο Django admin site. Αυτή η εφαρμογή (admin site) είναι συνδεδεμένη με το επίπεδο της βάσης δεδομένων του Django.
Απαιτούνται μερικά βήματα για να επωφεληθείτε των πεδίων FileField
ή/και ImageField
που είναι δηλωμένα σε ένα μοντέλο:
MEDIA_ROOT
ως ένα μονοπάτι στο φάκελο που θα αποθηκεύονται τα αρχεία που ανεβαίνουν (uploaded). (Για λόγους καλύτερης απόδοσης, αυτά τα αρχεία δεν αποθηκεύονται στη βάση δεδομένων). Δηλώστε το MEDIA_URL
ως το βασικό δημόσιο URL αυτού του φακέλου. Βεβαιωθείτε ότι αυτός ο φάκελος έχει δικαιώματα εγγραφής από το λογαριασμό χρήστη στο Web server. Αν δουλεύετε τοπικά στον υπολογιστή σας, τότε το πιο πιθανόν είναι να έχετε δικαιώματα εγγραφής στο φάκελο που ορίσατε.FileField
ή/και το ImageField
στο μοντέλο σας, προσδιορίζοντας το όρισμα upload_to
προκειμένου να προσδιοριστεί ο υπο-φάκελος του MEDIA_ROOT
που θα χρησιμοποιηθεί για τα ανεβασμένα αρχεία σας. Αν π.χ έχετε ορίσει την επιλογή MEDIA_ROOT
ως «mysite/media_remote/» και το όρισμα upload_to
ως «images/avatars/» τότε όλες οι εικόνες θα αποθηκευτούν στη τοποθεσία «mysite/media_remote/images/avatars/».MEDIA_ROOT
). Το πιο πιθανό είναι να χρησιμοποιήσετε το βολικό attribute url
που σας παρέχει το Django. Για παράδειγμα, αν το ImageField
ονομάζεται mug_shot
, μπορείτε να δείτε το απόλυτο μονοπάτι (absolute path) της εικόνας σας, στο template, ως {{ object.mug_shot.url }}
.Sometimes your templates all need the same thing. A common example would be dynamically generated menus. At first glance, it seems logical to add a common dictionary to the template context.
The best way to do this in Django is to use a RequestContext
. Details on
how to do this are here: Using RequestContext.
Δεκ 07, 2021