Ophelia

Sagteware kiekie:
Ophelia
Sagteware besonderhede:
Weergawe: 0.3.5
Upload datum: 15 Apr 15
Ontwikkelaar: Thomas Lotze
Lisensie: Gratis
Populariteit: 5

Rating: nan/5 (Total Votes: 0)

Ophelia is 'n Python projek wat XHTML bladsye van templates wat geskryf is in TAL skep, die Zope sjablooneienskapwaardes taal. & Nbsp; Dit is ontwerp kode herhaling te verminder tot nul.
Die pakket bevat beide 'n WSGI aansoek hardloop Ophelia asook 'n versoek hanteerder vir mod_python, die Python module vir die Apache2 web server.
Dokumentasie lêers hieronder aangehaal kan gevind word in die pakket gids, saam met 'n aantal doctests vir die modules.
Entry punte
Nadat jy Ophelia geïnstalleer en het 'n paar templates, hoe kan jy dit webblaaie lewer?
Gebruik Ophelia met Apache
Die Python pakket bevat 'n module ophelia.modpython wat bied 'n versoek hanteerder vir die mod_python Apache module.
Gebruik Ophelia as 'n WSGI aansoek
Ophelia definieer 'n aansoek klas in ooreenstemming met die WSGI standaard, PEP 333: ophelia.wsgi.Application. Jy kan óf probeer om dit deur die loop van Ophelia se eie wsgiref-gebaseerde HTTP bediener of loop dit deur enige WSGI bediener wat jy kan gee om te gebruik.
Die wsgiref-bediener geïnstalleer is soos die Ophelia-wsgiref uitvoerbare as Ophelia geïnstalleer is soos 'n eier met die "wsgiref" ekstra aangeskakel. Die script inskrywing punt is ophelia.wsgi.wsgiref_server.
Stort enkele bladsye te stdout
'N uitvoerbare wat altyd geïnstalleer met die Ophelia eier is Ophelia-dump. Dit script het Ophelia lewer die reaksie wat ooreenstem met die pad wat jy spesifiseer, en druk om dit te sys.stdout, opsioneel met HTTP-hoofde. Die script se inskrywing punt is ophelia.dump.dump.
Beide skrifte voorsien sommige gebruik instruksies wanneer geroep met die help uit te voer opsie. Hulle lees 'n konfigurasielêer; sien CONFIGURATION.txt vir meer besonderhede.
Watter soort van plekke is Ophelia goed vir?
Statiese inhoud
Oorweeg Ophelia as SSI op dwelms. Dit is nie fundamenteel verskil, net 'n baie vriendeliker en meer in staat is.
Gebruik Ophelia vir webwerwe waar jy skryf basies jou HTML jouself, behalwe dat jy nodig het om te skryf die herhalende dinge net een keer. Vermindering herhaling nul kom teen 'n prys: jou webwerf moet 'n patroon volg vir Ophelia jou templates te kombineer die regte manier.
Dink aan jou webwerf se uitleg te hiërargiese wees: daar is 'n algemene blik op al jou bladsye, artikels oor sekere eienskappe, en elke bladsy het 'n unieke inhoud. Dit is van kardinale belang om Ophelia wat hierdie hiërargie weerspieël in die lêerstelsel organisasie van jou dokumente; hoe templates kombineer is afgelei van hul plekke in die hiërargie van dopgehou.
Dinamiese inhoud
Ophelia maak die Python taal beskikbaar vir die insluiting van dinamiese inhoud. Elke sjabloon lêer kan 'n Python script sluit. Python skrifte en templates by te dra tot 'n bladsy deel 'n gemeenskaplike stel veranderlikes aan te pas en te gebruik.
Ophelia se inhoud model is baie eenvoudig en werk die beste as elke inhoud voorwerp wat jy publiseer, is sy eie siening: die bladsy is verteenwoordig op. As jy die inhoud van eksterne hulpbronne in elk geval (bv 'n databasis of 'n weergawe beheer bewaarplek), dit is nog steeds OK Ophelia te gebruik, selfs met verskeie standpunte per inhoud voorwerp so lank as 'n voorwerp se sienings nie afhanklik op die voorwerp se tipe of selfs die voorwerp self.
Probeer Ophelia te gebruik op 'n meer komplekse site sal lei tot 'n lelike verstrengeling van logika en aanbieding. Moenie Ophelia gebruik vir webwerwe wat eintlik webinterfaces aansoeke, content management stelsels en dies meer.
Hoe Ophelia werk
Sjabloon lêers
Vir elke versoek, Ophelia lyk vir 'n aantal sjabloon lêers. Dit neem 'n lêer met die naam "__init__" van elke gids op die pad van die werf wortel aan die bladsy, en 'n finale een vir die bladsy self. Die versoek word bedien deur Ophelia as daardie finale templaat is gevind.
Wanneer die bou van die bladsy, is die bladsy se template geëvalueer en sy inhoud gestoor in wat die innerlike slot genoem. Dan elke sjabloon op pad terug van die bladsy na die wortel beurt geëvalueer en kan die huidige inhoud van die binneste slot sluit. Die resultaat word gestoor in die binneste slot na elke stap.
Die resultaat van die verwerking van die wortel sjabloon is gedien as die bladsy.
Python skrifte
Elke sjabloon lêer kan begin met 'n Python script. In daardie geval, is die script van die sjabloon geskei deur die eerste voorkoms van 'n "" Tag op 'n lyn van sy eie (behalwe vir witspasie links of regs). As die sjabloon lêer bevat slegs 'n Python script maar nie eintlik 'n sjabloon, sit "" In sy laaste lyn.
Python skripte word uitgevoer ten einde terwyl kameelkoei van die werf wortel aan die bladsy. Hulle word gelei in dieselfde naamruimte veranderlikes wat later gebruik as die evaluering konteks van die templates. Veranderlikes wat gestel word deur 'n Python script kan gebruik word en aangepas deur enige skrifte later loop, sowel as by Tales uitdrukkings wat in die templates.
Die naamruimte geïnisialiseer deur Ophelia met 'n enkele veranderlike, __request__ dat verwys na die versoek voorwerp. So, draaiboeke het toegang tot versoek besonderhede en traversal internals. In bykomend tot die opstel van veranderlikes, kan skrifte ook modules invoer, funksies te definieer, toegang tot die lêer stelsel, en oor die algemeen enigiets van 'n Python program kan doen.
Hoe Ophelia optree
URL standaardisatie en herlei
As Ophelia ontmoetings 'n URL wat ooreenstem met 'n gids dit soortgelyk aan Apache in sy verstek opset: As die URL eindig nie met 'n streep, sal dit die leser om die streep te voeg lei. As die streep is daar, sal dit probeer om 'n sjabloon met die naam index.html by verstek te vind, en maak dit as die gids "index".
Afhangende van opset, kan eksplisiete versoeke vir die gids indeks bladsye herlei word gids URL's te gedra sonder die finale pad segment. Dit sou draai in.
Daarbenewens, Ophelia canonicalizes URLs wat pad segmente "." en ".." volgens RFC 3986 op generiese URI sintaksis, en verwyder leë pad segmente wat nie aan die einde van die pad. As die URL verander deur hierdie reëls, Ophelia aansture die leser dienooreenkomstig.
Die mod_python hanteerder
Apache2 prosesse 'n versoek in fases, wat elk kan deur modules hanteer word soos mod_python. Ophelia bied 'n mod_python hanteerder vir die inhoud generasie fase. As 'n versoek URL is ingestel deur Ophelia hanteer word, die hanteerder probeer toepaslike templates in die lêerstelsel te vind, en 'n bladsy bou van hulle.
Ophelia se mod_python hanteerder veroorsaak nooit 'n lêer nie gevind nie HTTP-fout. In plaas daarvan, is dit beheer gaan terug na Apache en ander modules as dit bevind dit kan nie 'n spesifieke hulpbron bou. Apache val terug na die bediening van statiese inhoud van die skyf in daardie geval. Ophelia kan dus geïnstalleer word op die top van 'n statiese site net daardie versoeke waarvoor templates bestaan ​​in die sjabloon gids te hanteer

Vereistes :.

  • Python

Ander sagteware ontwikkelaar Thomas Lotze

tl.pkg
tl.pkg

15 Apr 15

tl.testing
tl.testing

15 Apr 15

Kommentaar te Ophelia

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!