Ophelia

Software screenshot:
Ophelia
Software detaljer:
Version: 0.3.5
Upload dato: 15 Apr 15
Udvikler: Thomas Lotze
Licens: Gratis
Popularitet: 5

Rating: nan/5 (Total Votes: 0)

Ophelia er en Python-projekt, der skaber XHTML-sider fra skabeloner skrevet på TAL, den Zope Template Attribut Sprog. & Nbsp; Det er designet til at reducere kode gentagelse til nul.
Pakken indeholder både en WSGI program kørende Ophelia samt en sagsbehandler for mod_python, Python modul til Apache2 webserveren.
Dokumentationsfiler citeret nedenfor kan findes inde i pakken biblioteket, sammen med en række doctests for modulerne.
Adgangskrav point
Når du har installeret Ophelia og skrev nogle skabeloner, hvordan kan du gøre det gøre websider?
Brug Ophelia med Apache
Python-pakken indeholder et modul ophelia.modpython der giver en sagsbehandler om mod_python Apache modul.
Brug Ophelia som WSGI ansøgning
Ophelia definerer en ansøgning klasse overholder WSGI standard, PEP 333: ophelia.wsgi.Application. Du kan enten prøve det ved at køre Ophelia egen wsgiref-baserede HTTP-server eller køre det ved enhver WSGI server du måske lyst til at bruge.
Den wsgiref-baseret server er installeret som Ophelia-wsgiref eksekverbare hvis Ophelia er installeret som et æg med "wsgiref" ekstra aktiveret. Dens script indgang er ophelia.wsgi.wsgiref_server.
Dump enkelte sider til stdout
En eksekverbar som altid installeret med Ophelia ægget er Ophelia-dump. Dette script har Ophelia gøre reaktion svarer til den sti, du angiver, og udskriver det til sys.stdout, eventuelt med HTTP-headers. Scriptet indtræden punkt er ophelia.dump.dump.
Begge scripts give nogle brugsanvisning når kaldes med --help mulighed. De læste en konfigurationsfil; se CONFIGURATION.txt for detaljer.
Hvilken slags steder er Ophelia godt for?
Statisk indhold
Overvej Ophelia som SSI om narkotika. Det er ikke fundamentalt anderledes, bare en masse venligere og mere kompetent.
Brug Ophelia for steder, hvor du dybest set skriver din HTML selv, bortset fra at du har brug for at skrive det tilbagevendende ting én gang. Reduktion gentagelse til nul kommer på en pris: dit websted skal følge et mønster for Ophelia at kombinere dine skabeloner på den rigtige måde.
Overvej dit websteds layout til at være hierarkisk: der er et fælles kig på alle dine sider, sektioner har visse karakteristika, og hver side har unikt indhold. Det er afgørende for Ophelia, at dette hierarki afspejler i filsystemet organisering af dine dokumenter; hvordan skabeloner kombinerer udledes fra deres pladser i hierarkiet af mapper.
Dynamisk indhold
Ophelia gør Python sproget til rådighed for bl.a. dynamisk indhold. Hver skabelon fil kan indeholde et Python script. Python scripts og skabeloner, der bidrager til en side deler en fælles sæt af variabler til at ændre og bruge.
Ophelia indhold model er meget enkel og fungerer bedst, hvis hver indholdsobjekt du udgiver er sin egen opfattelse: den side, den er repræsenteret på. Hvis du får indhold fra eksterne ressourcer alligevel (fx en database eller en version kontrol repository), er det stadig OK at bruge Ophelia selv med flere visninger pr objekt indhold, så længe et objekts synspunkter afhænger ikke objektets type eller endda objektet selv.
Forsøg på at bruge Ophelia på en mere kompleks websted vil føre til en grim sammenfiltring af logik og præsentation. Brug ikke Ophelia for websteder, der er faktisk web-grænseflader til applikationer, content management systemer og lignende.
Hvordan Ophelia virker
Skabelon filer
For hver anmodning, Ophelia ser for en række skabelonfiler. Det tager en fil med navnet "__init__" fra hver mappe på stien fra stedet roden til siden, og en endelig én for selve siden. Anmodningen er tjent med Ophelia, hvis den endelige skabelon er fundet.
Når du bygger siden, er sidens skabelon evalueret og indholdet gemt i det, der kaldes den indre slot. Så hver skabelon på vej tilbage fra side til roden evalueres efter tur og kan omfatte det nuværende indhold af den indre slot. Resultatet lagres i den indre spalte efter hvert trin.
Resultatet af behandlingen af ​​rod-skabelon serveres som siden.
Python scripts
Hver skabelonfil kan begynde med en Python-script. I dette tilfælde er scriptet adskilt fra skabelonen ved den første forekomst af en "" Tag på en linje af egen (bortset blanke venstre eller højre). Hvis skabelonen filen indeholder kun et Python-script, men faktisk ikke en skabelon, sætte "" I sin sidste linje.
Python scripts udføres i rækkefølge, mens gennemkører fra stedet roden til siden. De kører i samme namespace variabler, der senere anvendes som evaluering rammerne af skabelonerne. Variable, der er fastsat af en Python-script, kan anvendes og ændres af alle scripts kører senere, og af Tales udtryk i skabelonerne.
Det namespace initialiseres ved Ophelia med en enkelt variabel, __request__, der refererer til objektet anmodning. Således scripts har adgang til anmodning detaljer og traversal interne. Udover indstilling variabler, kan scripts også importere moduler, definere funktioner, adgang til filsystemet, og generelt gøre noget et Python program kan gøre.
Hvordan Ophelia opfører
URL kanonisering og omdirigering
Hvis Ophelia støder på en webadresse, der svarer til en mappe det opfører sig på samme måde som Apache i standardkonfigurationen: Hvis URL'en ikke ender med en skråstreg, vil det omdirigere browseren til at tilføje skråstreg. Hvis skråstreg er der, vil den forsøge at finde en skabelon med navnet index.html som standard, og gøre det som mappen "index".
Afhængig af konfiguration kan udtrykkelige anmodninger om biblioteket indeks sider blive omdirigeret til bart bibliotek URL'er uden den endelige sti segment. Dette ville slå ind.
Derudover Ophelia canonicalizes webadresser indeholder kurvesegmenter "." og ".." ifølge RFC 3986 om generisk URI syntaks, og fjerner tomme kurvesegmenter, som ikke ved afslutningen af ​​stien. Hvis webadressen ændres af disse regler, Ophelia omdirigerer browseren i overensstemmelse hermed.
Den mod_python handleren
Apache2 behandler en anmodning i faser, som hver især kan håndteres af moduler såsom mod_python. Ophelia giver et mod_python handler for indholdet generation fase. Hvis den anmodede webadresse er konfigureret til at blive håndteret af Ophelia, føreren forsøger at finde passende skabeloner i filsystemet, og opbygge en side fra dem.
Ophelia er mod_python handler aldrig forårsager en fil ikke fundet HTTP-fejl. I stedet den passerer kontrollen tilbage til Apache og andre moduler, hvis den finder det kan ikke bygge en bestemt ressource. Apache falder tilbage til servering statisk indhold fra disken i denne sag. Ophelia kan således installeres oven på en statisk hjemmeside til at håndtere netop de anmodninger om der findes skabeloner i skabelonen mappen

Krav :.

  • Python

Andre software developer Thomas Lotze

tl.pkg
tl.pkg

15 Apr 15

tl.testing
tl.testing

15 Apr 15

Kommentarer til Ophelia

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!