# Τεκμηρίωση του Django - 1.10.7

# Συχνές Ερωτήσεις: Εγκατάσταση

## Πως ξεκινώ;

1. Κατεβάστε τον κώδικα.

2. Εγκαταστήστε το Django (δείτε το άρθρο οδηγός εγκατάσταση).

3. Περιηγηθείτε μέσα στον οδηγό μας.

4. Δείτε το υπόλοιπο documentation του Django και ρωτήστε την κοινότητα αν έχετε κάποιο πρόβλημα.

## Ποια είναι τα απαιτούμενα για το Django;

Τα Django χρειάζεται την γλώσσα προγραμματισμού Python. Δείτε τον πίνακα στην επόμενη ερώτηση για το ποιες εκδόσεις της Python είναι συμβατές με τις διάφορες εκδόσεις του Django. Άλλες Python βιβλιοθήκες ίσως χρειαστούν για συγκεκριμένες περιπτώσεις αλλά θα λάβετε σχετικό μήνυμα λάθους όταν θα χρειαστούν και δεν τις έχετε εγκατεστειμένες.

Σε αναπτυξιακά περιβάλλοντα – αν θέλετε να πειραματιστείτε με το Django – δεν χρειάζεται να έχετε κάποιον ξεχωριστό Web server εγκατεστημένο. Το Django έχει προεγκατεστημένο έναν ελαφρύ αναπτυξιακό server. Για παραγωγικά περιβάλλοντα (production environments), το Django ακολουθεί την προδιαγραφή WSGI PEP 3333, που σημαίνει ότι μπορεί να τρέξει σε μια πληθώρα server. Δείτε το άρθρο Deploying Django για μερικές δημοφιλής εναλλακτικές.

Αν θέλετε να χρησιμοποιήσετε το Django παρέα με κάποια βάση δεδομένων, που είναι και το πιο πιθανό, θα χρειαστείτε, επίσης, και την αντίστοιχη μηχανή της βάσης δεδομένων (database engine) που θα χρησιμοποιήσετε. Προτείνεται η PostgreSQL, καθώς είμαστε φαν αυτής αλλά υποστηρίζονται, επίσης και οι MySQL, SQLite 3 και η Oracle.

## Ποια έκδοση της Python να χρησιμοποιήσω με το Django;

Django έκδοση | Python εκδόσεις
--- | ---
1.8 | 2.7, 3.2 (μέχρι τέλος του 2016), 3.3, 3.4, 3.5
1.9, 1.10 | 2.7, 3.4, 3.5
1.11 | 2.7, 3.4, 3.5, 3.6
2.0 | 3.5+

Για κάθε έκδοση της Python, μόνο η τελευταία micro release (A.B.C) υποστηρίζεται επισήμως. Μπορείτε να βρείτε την τελευταία micro version για κάθε σειρά της Python στην επίσημη σελίδα της.

Τυπικά, θα υποστηρίξουμε όποια έκδοση της Python της οποίας η υποστήριξη ασφάλειας λήγει πριν την διανομή του Django LTS (Long Time Support) του οποίου η υποστήριξη ασφάλειας λήγει μετά από αυτή της Python. Ας δούμε ένα παράδειγμα, η υποστήριξη σχετικά με θέματα ασφαλείας της Python 3.3 λήγει τον Σεπτέμβριο του 2017 και η υποστήριξη σχετικά με θέματα ασφαλείας του Django 1.8 LTS λήγει τον Απρίλιο του 2018. Επομένωνς, το Django 1.8 είναι η τελευταία έκδοση Django που θα υποστηρίξει την Python 3.3.

## Ποια έκδοση της Python θα πρέπει να χρησιμοποιήσω με το Django;

Από την έκδοση 1.6 του Django, η υποστήριξη της Python 3 θεωρείται σταθερή και μπορείτε να την χρησιμοποιήσετε με ασφάλεια στην παραγωγή. Δείτε επίσης το άρθρο Porting to Python 3. Ωστόσο, η κοινότητα βρίσκεται ήδη στη διαδικασία της μεταφοράς των πακέτων και εφαρμογών τρίτων από την Python 2 στην Python 3.

Αν ξεκινάτε καινούργιο project και τα dependencies (πακέτα τρίτων και εφαρμογές) που σκοπεύετε να χρησιμοποιήσετε δουλεύουν με την Python 3, τότε θα πρέπει να χρησιμοποιήσετε αυτή. Αν δεν δουλεύουν, σκεφτείτε μήπως μπορείτε να συνεισφέρετε στην μετάβαση των πακέτων αυτών στην Python 3 ή απλώς να χρησιμοποιήσετε την Python 2.

Από τη στιγμή που οι νεώτερες εκδόσεις της Python είναι συχνά ταχύτερες, έχουν περισσότερα features και υποστηρίζονται καλύτερα (με όλα τα υπόλοιπα χαρακτηριστικά να είναι ίσα), προτείνουμε να χρησιμοποιείτε την τελευταία από κάθε έκδοση της Python, δηλαδή τις 2.x.y ή 3.x.y.

Δεν χάνετε τίποτα χρησιμοποιώντας μια παλαιότερη έκδοση της Python στο Django, αλλά δεν επωφελείστε των βελτιώσεων και των νέων χαρακτηριστικών στην τελευταία έκδοση της Python. Οι εφαρμογές τρίτων οι οποίες δουλεύουν με το Django είναι, φυσικά, ελεύθερες να θέσουν τις δικές τους απαιτήσεις σχετικά με το ποιες εκδόσεις της Python ή όχι υποστηρίζουν.

## Να χρησιμοποιώ τη σταθερή έκδοση ή την αναπτυξιακή;

Γενικά, αν χρησιμοποιείτε κώδικα ο οποίος θα βγει στην παραγωγή (δηλαδή στο internet) θα πρέπει να χρησιμοποιείτε την σταθερή έκδοση (stable release). Το Django project εκδίδει μια πλήρης σταθερή διανομή κάθε εννέα μήνες περίπου, όπου κάθε μια περιέχει διορθώσεις σφαλμάτων (bugfixes). Αυτές οι σταθερές διανομές περιέχουν το API για το οποίο εγγυόμαστε τη λειτουργία του. Αν γράφετε κώδικα με βάση τις σταθερές διανομές δεν θα έχετε κανένα πρόβλημα όταν αναβαθμίζετε σε κάποια επόμενη επίσημη διανομή, αρκεί βέβαια να διαβάζετε τις ανακοινώσεις της καινούργιας διανομής (release notes) γιατί μερικά πράγματα μπορεί αν έχουν αλλάξει.