Ophelia

Software screenshot:
Ophelia
Software informatie:
Versie: 0.3.5
Upload datum: 15 Apr 15
Ontwikkelaar: Thomas Lotze
Licentie: Gratis
Populariteit: 5

Rating: nan/5 (Total Votes: 0)

Ophelia is een Python project dat XHTML-pagina's van templates geschreven in TAL creëert, de Zope Template Attribute Taal & nbsp;. Het is ontworpen om code herhaling tot nul te reduceren.
Het pakket bevat zowel een WSGI applicatie die draait Ophelia, evenals een verzoek handler voor mod_python, de Python module voor de Apache2 webserver.
Documentatie hieronder geciteerd bestanden zijn te vinden in de verpakking directory, samen met een aantal doctests voor de modules.
Entry punten
Nadat u Ophelia geïnstalleerd en schreef een aantal templates, hoe kun je het maken van webpagina's?
Gebruik Ophelia met Apache
De Python-pakket bevat een module ophelia.modpython dat een verzoek handler voor de mod_python Apache module biedt.
Gebruik Ophelia als WSGI applicatie
Ophelia definieert een applicatie klasse voldoet aan de WSGI standaard, PEP 333: ophelia.wsgi.Application. U kunt ofwel proberen het door het uitvoeren van Ophelia's eigen-wsgiref gebaseerde HTTP-server of uit te voeren door een WSGI server je zou schelen om te gebruiken.
De-wsgiref gebaseerde server wordt geïnstalleerd als de Ophelia-wsgiref uitvoerbare als Ophelia is geïnstalleerd als een ei met de "wsgiref" extra ingeschakeld. Haar script entry point is ophelia.wsgi.wsgiref_server.
Dump enkele pagina's naar stdout
Een uitvoerbaar die altijd wordt geïnstalleerd met de Ophelia ei is Ophelia-dump. Dit script heeft Ophelia maken het antwoord overeenkomt met het pad dat u opgeeft, en drukt het aan sys.stdout, naar keuze met HTTP-headers. Het script ingangspunt is ophelia.dump.dump.
Beide scripts bieden enige gebruiksinstructies als ze worden opgeroepen met de --help optie. Ze lezen een configuratiebestand; zie CONFIGURATION.txt voor details.
Wat voor soort sites is Ophelia goed voor?
Statische content
Overweeg Ophelia als SSI over drugs. Het is niet fundamenteel verschillend, maar een stuk vriendelijker en meer in staat.
Gebruik Ophelia voor sites waar je in principe schrijf uw HTML zelf, behalve dat je nodig hebt schrijf de terugkerende dingen maar één keer. Het verminderen van de herhaling op nul komt op een prijs: je site moet een patroon volgen voor Ophelia aan uw sjablonen combineren de juiste manier.
Denk aan de lay-out van uw site hiërarchisch te zijn: er is een gemeenschappelijke look aan al uw pagina's, secties hebben bepaalde kenmerken, en elk heeft unieke inhoud. Het is van cruciaal belang om Ophelia dat deze hiërarchie weerspiegelen in het bestandssysteem organisatie van uw documenten; hoe sjablonen combineren is afgeleid van hun plaats in de hiërarchie van mappen.
Dynamische content
Ophelia maakt de Python taal beschikbaar is voor het opnemen van dynamische inhoud. Elke sjabloon bestand kan een Python-script. Python scripts en templates die bijdragen aan een aandeel pagina een gemeenschappelijke set van variabelen aan te passen en te gebruiken.
Inhoud model Ophelia's is heel eenvoudig en werkt het beste als elke inhoudsobject u publiceert is zijn eigen visie: de pagina wordt vertegenwoordigd. Als u de inhoud van externe middelen krijgen toch (bijvoorbeeld een database of een versie controle repository), het is nog steeds OK om Ophelia gebruiken, zelfs met meerdere weergaven per inhoudsobject zolang uitzicht van een object zijn niet afhankelijk van het type van het object of zelfs het object zelf.
Het proberen om Ophelia gebruiken op een complexe site zal leiden tot een lelijke verstrengeling van logica en presentatie. Gebruik Ophelia niet gebruiken voor sites die daadwerkelijk zijn web-interfaces naar applicaties, content management systemen en dergelijke.
Hoe Ophelia werkt
Template-bestanden
Voor elke aanvraag, Ophelia zoekt een aantal template bestanden. Het duurt een bestand met de naam "__init__" van elke map op het pad van de site wortel naar de pagina, en een laatste een voor de pagina zelf. Het verzoek wordt bediend door Ophelia als dat laatste sjabloon wordt gevonden.
Bij het bouwen van de pagina, wordt het formulier van de pagina's geëvalueerd en de inhoud die is opgeslagen in wat men de binnenste sleuf genoemd. Vervolgens elke sjabloon op de terugweg van de pagina naar de wortel wordt geëvalueerd op hun beurt en kunnen de huidige inhoud van de binnenste sleuf bevatten. Het resultaat wordt opgeslagen in de binnenste sleuf na elke stap.
Het resultaat van de verwerking van de wortel sjabloon diende als de pagina.
Python scripts
Elke sjabloon bestand kan beginnen met een Python-script. In dat geval wordt het script gescheiden van de template door het eerste optreden van een ' "Tag op een lijn van zijn eigen (behalve voor witruimte links of rechts). Als de sjabloon bestand bevat slechts een Python-script, maar niet echt een sjabloon, zet ' "In zijn laatste regel.
Python-scripts worden uitgevoerd in orde, terwijl het doorkruisen van de site wortel naar de pagina. Ze worden uitgevoerd in dezelfde naamruimte variabelen die later wordt gebruikt als evaluatie context van de templates. Variabelen die door een Python script ingesteld kunnen worden gebruikt en gewijzigd door scripts latere werking, alsook door -VERHALEN uitdrukkingen gebruikt in sjablonen.
De namespace wordt geïnitialiseerd door Ophelia met een enkele variabele, __request__, dat het verzoek object verwijst. Zo scripts hebben toegang tot aanvraag details en traversal binnenwerk. Naast het instellen van variabelen, kunnen de scripts ook modules importeren, definiëren functies, toegang tot het bestandssysteem, en in het algemeen alles wat een Python programma kan doen.
Hoe Ophelia gedraagt ​​
URL standaardisatie en redirection
Als Ophelia ontmoet een URL die overeenkomt met een directory het gedraagt ​​zich zoals Apache in zijn standaardconfiguratie: Als de URL eindigt niet met een slash, zal het de browser om de slash toe te leiden. Als de streep er is, zal het proberen om een ​​sjabloon genaamd index.html standaard te vinden, en maken het als de directory "index".
Afhankelijk van de configuratie, kan een expliciet verzoek om directory index pagina's worden doorgestuurd naar directory URL's bloot, zonder het uiteindelijke pad segment. Dit zou blijken in.
Bovendien, Ophelia canonicalizes URL's met pad segmenten "." en ".." volgens RFC 3986 over generieke URI syntax en verwijdert lege Padsegmenten die niet aan het einde van het pad. Als de URL wordt veranderd door deze regels, Ophelia stuurt de browser dienovereenkomstig.
De mod_python handler
Apache2 verwerkt aanvragen fasen, die elk door modules kunnen worden behandeld zoals mod_python. Ophelia biedt een mod_python handler voor de inhoud generatie fase. Wanneer een gevraagde URL wordt geconfigureerd door Ophelia worden behandeld, de handler probeert passende sjablonen in het file systeem, en bouwen een pagina van hen.
Mod_python handler Ophelia's veroorzaakt nooit een bestand niet gevonden HTTP-fout. In plaats daarvan geeft de controle terug naar Apache en andere modules, indien hij vaststelt dat kan een bepaalde bron niet bouwen. Apache valt terug aan het dienen van statische inhoud van de schijf in dat geval. Ophelia kan dus op de top van een statische site om gewoon die verzoeken waarvoor templates bestaan ​​in de template directory handvat worden geïnstalleerd

Eisen .

  • Python

Andere software van ontwikkelaar Thomas Lotze

tl.testing
tl.testing

15 Apr 15

tl.pkg
tl.pkg

15 Apr 15

Reacties op Ophelia

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!