Ophelia

Screenshot Λογισμικό:
Ophelia
Στοιχεία Λογισμικού:
Εκδοχή: 0.3.5
Ανεβάστε ημερομηνία: 15 Apr 15
Προγραμματιστής: Thomas Lotze
Άδεια: Δωρεάν
Δημοτικότητα: 26

Rating: nan/5 (Total Votes: 0)

Οφηλία είναι ένα πρόγραμμα Python που δημιουργεί σελίδες XHTML από πρότυπα γραμμένο σε TAL, η Zope Πρότυπο Χαρακτηριστικό Γλώσσα & nbsp?. Έχει σχεδιαστεί για να μειώσει τον κωδικό επανάληψη στο μηδέν.
Το πακέτο αυτό περιέχει μια εφαρμογή WSGI τρέχει Οφηλία, καθώς και ένα χειριστή αίτημα για mod_python, η μονάδα Python για τον web server Apache2.
Αρχεία τεκμηρίωσης που αναφέρονται παρακάτω μπορεί να βρεθεί μέσα στον κατάλογο πακέτο, μαζί με μια σειρά από doctests για τις ενότητες.
Σημεία Έναρξη
Αφού έχετε εγκαταστήσει Οφηλία και έγραψε μερικά πρότυπα, πώς μπορείτε να κάνετε την καθιστούν τις ιστοσελίδες;
Χρησιμοποιήστε Οφηλία με Apache
Το πακέτο Python περιέχει μια μονάδα ophelia.modpython που παρέχει έναν χειριστή αίτηση για τη μονάδα mod_python Apache.
Χρησιμοποιήστε Οφηλία ως εφαρμογή WSGI
Οφηλία ορίζει μια τάξη εφαρμογή συμβατή με το πρότυπο WSGI, PEP 333: ophelia.wsgi.Application. Μπορείτε είτε να το δοκιμάσετε με τη λειτουργία των δικών wsgiref-based server HTTP Οφηλία ή να τρέξει με οποιονδήποτε διακομιστή WSGI μπορεί να ενδιαφέρονται να χρησιμοποιήσουν.
Ο διακομιστής wsgiref με βάση εγκαθίσταται ως Οφηλία-wsgiref εκτελέσιμο αν Οφηλία έχει εγκατασταθεί ως ένα αυγό με το "wsgiref" επιπλέον ενεργοποιηθεί. Σημείο εισόδου γραφή του είναι ophelia.wsgi.wsgiref_server.
Dump μεμονωμένες σελίδες στο stdout
Ένα εκτελέσιμο το οποίο εγκαθίσταται πάντα με το αυγό Οφηλία είναι Οφηλία-χωματερή. Αυτό το σενάριο έχει Οφηλία καθιστούν την απάντηση που αντιστοιχεί στη διαδρομή που καθορίζετε, και την εκτυπώνει σε sys.stdout, προαιρετικά με κεφαλίδες HTTP. Σημείο εισόδου Το σενάριο είναι ophelia.dump.dump.
Και τα δύο σενάρια προβλέπουν κάποιες οδηγίες χρήσης όταν καλείται με την επιλογή --help. Διαβάζουν ένα αρχείο ρυθμίσεων? δείτε CONFIGURATION.txt για λεπτομέρειες.
Τι είδους sites είναι καλό για Οφηλία;
Στατικό περιεχόμενο
Σκεφτείτε Οφηλία ως SSI για τα ναρκωτικά. Δεν είναι ριζικά διαφορετικό, απλά πολύ πιο φιλική και πιο ικανός.
Χρησιμοποιήστε Οφηλία για τοποθεσίες όπου μπορείτε βασικά γράψετε μόνοι σας σας HTML, εκτός από το ότι θα πρέπει να γράψετε το επαναλαμβανόμενο πράγματα μόνο μια φορά. Μείωση επανάληψη στο μηδέν έρχεται σε μια τιμή: το site σας πρέπει να ακολουθούν ένα πρότυπο για την Οφηλία να συνδυάσει τα πρότυπά σας με τον σωστό τρόπο.
Εξετάστε τη διάταξη του δικτυακού σας τόπου να είναι ιεραρχική: υπάρχει μια κοινή εμφάνιση σε όλες τις σελίδες σας, τα τμήματα έχουν ορισμένα χαρακτηριστικά, και κάθε σελίδα έχει μοναδικό περιεχόμενο. Είναι ζωτικής σημασίας για την Οφηλία ότι αυτή η ιεραρχία αντανακλούν στην οργάνωση του συστήματος αρχείων των εγγράφων σας? πώς πρότυπα συνδυάζουν συνάγεται από τις θέσεις τους στην ιεραρχία των καταλόγων.
Δυναμικό περιεχόμενο
Οφηλία κάνει το διαθέσιμο για δυναμικό περιεχόμενο, συμπεριλαμβανομένων γλώσσα Python. Κάθε αρχείο προτύπου μπορεί να περιλαμβάνει ένα σενάριο Python. Σεναρίων Python και τα πρότυπα που συμβάλλουν σε μια μετοχή σελίδα ένα κοινό σύνολο των μεταβλητών να τροποποιήσετε και να χρησιμοποιήσετε.
Μοντέλο περιεχομένου Οφηλία είναι πολύ απλό και λειτουργεί καλύτερα αν κάθε αντικείμενο περιεχομένου που δημοσιεύουν είναι δική του άποψη: η σελίδα αυτή εκπροσωπείται. Αν πάρετε το περιεχόμενο από εξωτερικούς πόρους ούτως ή άλλως (π.χ. μια βάση δεδομένων ή ένα αποθετήριο ελέγχου εκδόσεων), είναι ακόμα εντάξει για να χρησιμοποιήσει Οφηλία, ακόμη και με πολλαπλές προβολές ανά αντικείμενο περιεχόμενο όσο απόψεις ενός αντικειμένου δεν εξαρτώνται από τον τύπο του αντικειμένου ή ακόμη και το αντικείμενο η ίδια.
Προσπαθώντας να χρησιμοποιήσετε Οφηλία σε μια πιο σύνθετη τοποθεσία θα οδηγήσει σε μια άσχημη εμπλοκή της λογικής και της παρουσίασης. Μην χρησιμοποιείτε Οφηλία για τις περιοχές που είναι πραγματικά web διεπαφές σε εφαρμογές, συστήματα διαχείρισης περιεχομένου και τα παρόμοια.
Πώς λειτουργεί Οφηλία
Αρχεία προτύπων
Για κάθε αίτηση, Οφηλία αναζητά έναν αριθμό αρχείων προτύπου. Παίρνει ένα αρχείο με το όνομα "__init__" από κάθε κατάλογο στο μονοπάτι από τη ρίζα του site στη σελίδα, καθώς και έναν για την ίδια την σελίδα. Η αίτηση εξυπηρετείται από Οφηλία αν βρεθεί ότι η τελική πρότυπο.
Κατά την κατασκευή της σελίδας, το πρότυπο της σελίδας αξιολογείται και το περιεχόμενό της είναι αποθηκευμένα σε αυτό που ονομάζεται η εσωτερική υποδοχή. Στη συνέχεια, κάθε πρότυπο στο δρόμο της επιστροφής από τη σελίδα στη ρίζα αξιολογείται με τη σειρά του και μπορεί να περιλαμβάνει το σημερινό περιεχόμενο του εσωτερικού υποδοχή. Το αποτέλεσμα αποθηκεύεται στην εσωτερική σχισμή μετά από κάθε βήμα.
Το αποτέλεσμα της επεξεργασίας του προτύπου ρίζα σερβίρεται ως σελίδα.
Python scripts
Κάθε αρχείο προτύπου μπορεί να ξεκινήσει με ένα σενάριο Python. Σε αυτή την περίπτωση, το σενάριο διαχωρίζεται από το πρότυπο από την πρώτη εμφάνιση ενός "" Ετικέτα σε μια γραμμή της δικής του (εκτός από κενό αριστερά ή δεξιά). Αν το αρχείο πρότυπο που περιέχει μόνο ένα σενάριο Python, αλλά όχι στην πραγματικότητα ένα πρότυπο, να θέσει "" Στην τελευταία γραμμή του.
Οι Python scripts εκτελούνται με τη σειρά, ενώ διέρχονται από την περιοχή της ρίζας στη σελίδα. Έχουν εκτελεστεί στο ίδιο πεδίο ονομάτων των μεταβλητών που χρησιμοποιήθηκε αργότερα ως πλαίσιο αξιολόγησης των προτύπων. Οι μεταβλητές που έχουν οριστεί από μια δέσμη ενεργειών Python μπορούν να χρησιμοποιηθούν και να τροποποιηθούν από οποιαδήποτε σενάρια τρέχουν αργότερα, καθώς και από τις φήμες για εκφράσεις που χρησιμοποιούνται στα πρότυπα.
Ο χώρος ονομάτων έχει προετοιμαστεί από την Οφηλία με μία μόνο μεταβλητή, __request__, που αναφέρει το αντικείμενο αίτησης. Έτσι, τα σενάρια έχουν πρόσβαση σε λεπτομέρειες του αιτήματος και εσωτερικά διάσχισης. Εκτός από τον καθορισμό των μεταβλητών, σενάρια μπορούν επίσης να εισάγουν μονάδες, καθορίζονται οι λειτουργίες, πρόσβαση στο σύστημα αρχείων, και γενικά να κάνει οτιδήποτε ενός προγράμματος Python μπορεί να κάνει.
Πώς Οφηλία συμπεριφέρεται
URL κανονικοποίησης και ανακατανομή
Αν Οφηλία συναντά μια διεύθυνση URL που αντιστοιχεί σε έναν κατάλογο που συμπεριφέρεται παρόμοια με Apache στην προεπιλεγμένη ρύθμιση παραμέτρων του: Εάν η διεύθυνση URL δεν τελειώνει με μια κάθετο, θα ανακατευθύνει το πρόγραμμα περιήγησης για να προσθέσετε το κάθετο. Αν ο κάθετος υπάρχει, θα προσπαθήσουμε να βρούμε ένα πρότυπο που ονομάζεται index.html από προεπιλογή, και την καθιστούν ως τον κατάλογο "δείκτη".
Ανάλογα με τη διαμόρφωση, σαφή αιτήματα για τις σελίδες ευρετηρίου καταλόγου μπορούν να κατευθυνθούν σε γυμνό διευθύνσεις URL καταλόγου χωρίς το τελικό τμήμα της διαδρομής. Αυτό θα μετατρέψει μέσα.
Επιπλέον, Οφηλία canonicalizes διευθύνσεις URL που περιέχουν τμήματα διαδρομής "." και ".." σύμφωνα με το RFC 3986 για γενική σύνταξη URI, και αφαιρεί κενά τμήματα διαδρομής που δεν είναι στο τέλος της διαδρομής. Εάν η διεύθυνση URL έχει αλλάξει από αυτούς τους κανόνες, Οφηλία ανακατευθύνει αναλόγως το πρόγραμμα περιήγησης.
Ο χειριστής mod_python
Apache2 επεξεργάζεται ένα αίτημα σε φάσεις, καθεμία από τις οποίες μπορεί να αντιμετωπιστεί από ενότητες όπως mod_python. Οφηλία παρέχει ένα χειριστή mod_python για τη φάση το περιεχόμενο της γενιάς. Αν το ζητούμενο URL έχει ρυθμιστεί να χειρίζεται Οφηλία, ο χειριστής προσπαθεί να βρει τα κατάλληλα πρότυπα στο σύστημα αρχείων, και να οικοδομήσουμε μια σελίδα από αυτούς.
Mod_python χειριστή Οφηλία ποτέ δεν προκαλεί ένα αρχείο δεν βρέθηκε σφάλμα HTTP. Αντ 'αυτού, ο έλεγχος μεταφέρεται πίσω στο Apache και άλλες ενότητες, αν διαπιστώσει ότι δεν μπορούμε να οικοδομήσουμε ένα συγκεκριμένο πόρο. Apache πέφτει πίσω στην εξυπηρέτηση στατικό περιεχόμενο από δίσκο σε αυτή την περίπτωση. Οφηλία μπορεί έτσι να τοποθετηθεί πάνω σε ένα στατικό site για να χειριστεί μόνο αυτά τα αιτήματα για τα οποία υπάρχουν πρότυπα στον κατάλογο προτύπων

Απαιτήσεις :.

  • Python

Άλλο λογισμικό του προγραμματιστή Thomas Lotze

tl.pkg
tl.pkg

15 Apr 15

tl.testing
tl.testing

15 Apr 15

Σχόλια για Ophelia

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!