Django είναι ένα ισχυρό, ανοιχτού κώδικα, Python-based web framework που απλοποιεί τη διαδικασία δημιουργίας και διαχείρισης ιστοτόπων και εφαρμογών ιστού. Οι εφαρμογές Django είναι επεκτάσιμες, υψηλής απόδοσης και ασφαλείς. Συνοδεύεται επίσης από εξαιρετική τεκμηρίωση για κάθε μέρος του framework.
Στη σειρά μας για το Django, εξερευνούμε το Django υλοποιώντας έναν δοκιμαστικό ιστότοπο με βασικές λειτουργίες ιστολογίου (blog). Σε αυτόν τον οδηγό, θα δούμε τα βήματα για τη δημιουργία μιας δοκιμαστικής προβολής (view) για την εφαρμογή Django μας.
Προαπαιτούμενα
Για να ακολουθήσετε αυτόν τον οδηγό, θα χρειαστείτε τα ακόλουθα στοιχεία.
- Έναν Ubuntu διακομιστή με τις κατάλληλες ρυθμίσεις. Μάθετε περισσότερα για τη ρύθμιση ενός διακομιστή Ubuntu.
- Κατάλληλα ρυθμισμένο περιβάλλον ανάπτυξης Python.
- Έναν διακομιστή βάσης δεδομένων, για παράδειγμα, MySQL. Αυτός ο οδηγός αναλύει την εγκατάσταση και ρύθμιση της MySQL σε έναν διακομιστή Ubuntu.
Αυτός ο οδηγός αποτελεί συνέχεια της σειράς μας για το Django. Αρχικά, θα ήταν χρήσιμο να δείτε τους προηγούμενους οδηγούς σχετικά με τη ρύθμιση του Django, δημιουργία σύνδεσης βάσης δεδομένων Django, δημιουργία μοντέλων, και την ενεργοποίηση της διεπαφής διαχειριστή Django (Django Admin Interface).
Σε αυτόν τον οδηγό, θα δείξουμε πώς να δημιουργήσετε προβολές (views) Django που θα επιτρέψουν στην εφαρμογή ιστού να χειρίζεται σωστά τα αιτήματα ιστού και να επιστρέφει την κατάλληλη απάντηση. Όπως περιγράφεται στην επίσημη τεκμηρίωση του Django, μια απάντηση ιστού μπορεί να είναι περιεχόμενο HTML μιας ιστοσελίδας, μια ανακατεύθυνση ή ένα σφάλμα HTTP. Δεν υπάρχει καθορισμένο μέρος για την αποθήκευση των συναρτήσεων προβολής (view functions), αρκεί να βρίσκονται εντός των διαδρομών της Python. Ωστόσο, υπάρχουν δημοφιλείς συμβάσεις για την ονομασία και την τοποθέτηση των αρχείων. Αυτός ο οδηγός θα ακολουθήσει αυτές τις συμβάσεις.
Βήμα 1. Ενεργοποίηση του εικονικού περιβάλλοντος
Το Django λειτουργεί καλύτερα μέσα σε ένα εικονικό περιβάλλον Python. Η εφαρμογή Django μας sample_app έχει δημιουργηθεί μέσα σε ένα αποκλειστικό εικονικό περιβάλλον. Αρχικά, ενεργοποιήστε το εικονικό περιβάλλον:
|
1 2 3 |
cd sample_app/ . sample_app_env/bin/activate |
Βήμα 2. Δημιουργία συναρτήσεων προβολής (View Functions)
Μεταβείτε στον κατάλογο random_app μας που φιλοξενεί τα μοντέλα για τον ιστότοπο ιστολογίου μας:
|
1 |
cd random_app/ |
Εδώ, το αρχείο views.py θα περιέχει τον απαραίτητο κώδικα για τη δημιουργία των προβολών μας. Ανοίξτε το σε έναν επεξεργαστή κειμένου:
|
1 |
nano views.py |

Χρειαζόμαστε τη συνάρτηση render() από τη βιβλιοθήκη django.shortcuts , οπότε η πρώτη γραμμή παραμένει η ίδια. Η συνάρτηση render() function βοηθά στο συνδυασμό ενός προτύπου (template) και ενός πλαισίου (context) ώστε να επιστραφούν ως το κατάλληλο αντικείμενο HttpResponse .
Η πρώτη προβολή θα καλωσορίζει τους χρήστες που φτάνουν στην αρχική σελίδα (index). Θα πρέπει να εισαγάγουμε τη συνάρτηση HttpResponse() από τη βιβλιοθήκη του Django http:
|
1 2 3 4 5 6 7 8 |
from django.shortcuts import render from django.http import HttpResponse def index(request): return HttpResponse(Φτάσατε στην αρχική σελίδα καλωσορίσματοςpage') def individual_post(request): return HttpResponse('Οι μεμονωμένες αναρτήσεις θα εμφανιστούν εδώ') |

Αποθηκεύστε το αρχείο και κλείστε τον επεξεργαστή.
Βήμα 3. Αντιστοίχιση διευθύνσεων URL σε προβολές (Views)
Αυτή τη στιγμή, δεν υπάρχει καθορισμένη διεύθυνση URL για αυτές τις συναρτήσεις, επομένως δεν είναι προσβάσιμες. Πρέπει να προσθέσουμε ένα ακόμα μπλοκ urlpatterns μέσα στο αρχείο ρυθμίσεων URL. Στην Python, αναφέρεται ως το αρχείο URLconf (ρύθμισης URL).
Το Django πρέπει να προσδιορίσει το ριζικό URLconf module που θα χρησιμοποιήσει. Στη συνέχεια, θα αναζητήσει στο urlpatterns που περιέχει όλα τα μοτίβα URL σε δομή λίστας. Στη συνέχεια, το Django διατρέχει το αρχείο μέχρι να βρει την πρώτη αντιστοίχιση. Μόλις βρει μια αντιστοίχιση, το Django θα αναζητήσει τη σχετική προβολή (view). Αυτή η συνάρτηση προβολής θα λάβει δεδομένα που σχετίζονται με το μοτίβο URL και ένα αντικείμενο HttpRequest . Οποιοδήποτε σφάλμα σε οποιοδήποτε σημείο αυτής της διαδικασίας θα οδηγήσει σε ανακατεύθυνση σε μια προβολή διαχείρισης σφαλμάτων (error-handling view).
Ανοίξτε το αρχείο urls.py του random_app σε έναν επεξεργαστή κειμένου:
|
1 |
nano urls.py |
Εισαγάγετε τον ακόλουθο κώδικα:
|
1 2 3 4 5 6 7 |
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('post/', views.individual_post, name='individual_post') ] |

Αποθηκεύστε το αρχείο και κλείστε το πρόγραμμα επεξεργασίας.
Μόλις τελειώσετε, θα πρέπει επίσης να συμπεριλάβουμε τη διαδρομή του αρχείου URL κάτω από το sample_app του καταλόγου URLconf. Διαφορετικά, η εφαρμογή Django δεν θα το αναγνωρίσει. Αυτό συμβαίνει επειδή το URLconf του sample_app έχει οριστεί ως το ROOT_URLCONF στο αρχείο ρυθμίσεων.
Μεταβείτε στον κατάλογο της εφαρμογής μας sample_app:
|
1 |
cd sample_app/sample_app/sample_app/ |
![]()
Ανοίξτε το αρχείο urls.py σε έναν επεξεργαστή κειμένου:
|
1 |
nano urls.py |

Εισαγάγετε τον ακόλουθο κώδικα στο αρχείο:
|
1 2 3 4 5 6 7 |
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('', include('random_app.urls')) ] |

Ας δοκιμάσουμε τις αλλαγές μας. Εκκινήστε τον διακομιστή της εφαρμογής Django στο localhost:8000:
|
1 |
python manage.py runserver localhost:8000 |

Μεταβείτε στη διεύθυνση URL:
|
1 |
localhost:8000 |

Ελέγξτε τη διεύθυνση URL για την ανάρτηση:
|
1 |
localhost:8000/posts |
Βήμα 4. Δημιουργία μιας ανάρτησης ιστολογίου (Blog Post)
Έχουμε καθορίσει τα μοτίβα URL μας και εξετάσαμε τη ροή εργασίας τους. Ήρθε η ώρα να προσθέσουμε ένα δείγμα ιστολογίου και να δούμε το αποτέλεσμα.
Από τον πίνακα διαχείρισης, μεταβείτε στη σελίδα random_app :
|
1 |
localhost:8000/admin/random_app/ |

Κάντε κλικ στον σύνδεσμο +Add από τη σειρά Posts :

Στη νέα ιστοσελίδα, θα εμφανιστεί μια φόρμα που αποτελείται από τα ακόλουθα πεδία.
- Τίτλος: Ο τίτλος της ανάρτησης ιστολογίου.
- Slug:Αναφέρεται στο μέρος της έγκυρης διεύθυνσης ιστού με αναγνώσιμες από τον άνθρωπο λέξεις-κλειδιά. Γενικά, τα slugs δημιουργούνται από τον τίτλο της ανάρτησης.
- Περιεχόμενο: Το κύριο σώμα της ανάρτησης ιστολογίου.
- Συγγραφέας: Το σχετικό όνομα χρήστη.
Κάντε κλικ στο SAVE για να υποβάλετε την ανάρτηση:

Βήμα 5. Εμφάνιση των Δεδομένων στη Βάση Δεδομένων
Στην επόμενη ενότητα, θα εργαστούμε με τη βάση δεδομένων μας. Συνδεθείτε στη MySQL ως ο αποκλειστικός χρήστης του Django:
|
1 |
mysql -u sample_app_user -p |

Ας επαληθεύσουμε αν η ανάρτησή μας καταχωρήθηκε με επιτυχία στη βάση δεδομένων:
|
1 |
USE sample_app_data; |

|
1 |
SELECT * FROM random_app_post; |

Voila! Η ανάρτηση καταχωρήθηκε με επιτυχία! Μπορείτε τώρα να βγείτε από το κέλυφος (shell) της MySQL.
Βήμα 6. Πρόσθετες Προσαρμογές Προβολής (View Tweaks)
Υπάρχουν μερικά ακόμη πράγματα που μπορούμε να κάνουμε με τις προβολές (views) μας. Ανοίξτε το αρχείο σε έναν επεξεργαστή κειμένου:
|
1 |
nano views.py |
Ο κώδικας θα πρέπει να μοιάζει κάπως έτσι:
|
1 2 3 4 5 6 7 8 9 10 |
from django.shortcuts import render from django.http import HttpResponse from .models import Post def index(request): return HttpResponse('Γεια σας, καλώς ορίσατε στην αρχική σελίδα.') def individual_post(request): recent_post = Post.objects.get(id__exact=1) return HttpResponse(recent_post.title + ': ' + recent_post.content) |

Εδώ, έχουμε προσθέσει μια επιπλέον δήλωση import για το Post. Η συμβολοσειρά σε εισαγωγικά από το HttpResponse αντικαθίσταται επίσης με δεδομένα από την ανάρτηση του ιστολογίου μας. Για να αναφερθούμε στα δεδομένα, χρησιμοποιούμε το ID της ανάρτησης ιστολογίου με το σχετικό αντικείμενο. Το ID αποθηκεύεται σε μια μεταβλητή recent_post. Τώρα, μπορούμε να εξαγάγουμε συγκεκριμένα πεδία του αντικειμένου προσθέτοντας το πεδίο με έναν διαχωριστικό χαρακτήρα τελείας.
Μόλις αλλάξει, ας επαληθεύσουμε τις αλλαγές. Εκκινήστε τον διακομιστή Django:
|
1 |
python manage.py runserver localhost:8000 |

Τώρα, αποκτήστε πρόσβαση στη σελίδα Posts :
|
1 |
localhost:8000/posts |

Θα πρέπει να εμφανίζει την ανάρτηση ιστολογίου που δημιουργήσαμε.
Βήμα 7. Έξοδος από το Έργο
Για να τερματίσετε τον διακομιστή Django, πατήστε Ctrl + C από το τερματικό. Για να απενεργοποιήσετε το εικονικό περιβάλλον Python, εκτελέστε την ακόλουθη εντολή:
|
1 |
deactivate |
Τελικές Σκέψεις
Σε αυτόν τον οδηγό, δείξαμε με επιτυχία τη δημιουργία προβολών, τη χαρτογράφηση μοτίβων URL και την εμφάνιση κειμένων σε μια ιστοσελίδα από τη βάση δεδομένων του random_app στο Django.Αυτές είναι βασικές έννοιες του Django που είναι απαραίτητο να κατανοήσετε και να εμπεδώσετε.
Ακολουθούν επιπλέον πόροι για να σας βοηθήσουν να δημιουργήσετε και να διαχειριστείτε εφαρμογές Django:
- Δημιουργία εφαρμογής Django με σύνδεση βάσης δεδομένων: Ένας οδηγός
- Δημιουργία εφαρμογής Django και Gunicorn με Docker σε Ubuntu
- Πώς να ασφαλίσετε και να κλιμακώσετε μια εφαρμογή Django με Docker, Nginx και Let’s Encrypt
Καλή συνέχεια!

Σχόλια
Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.