Ophelia

Screenshot Software:
Ophelia
Mga detalye ng Software:
Bersyon: 0.3.5
I-upload ang petsa: 15 Apr 15
Nag-develop: Thomas Lotze
Lisensya: Libre
Katanyagan: 5

Rating: nan/5 (Total Votes: 0)

Ophelia ay isang proyekto na Python na lumilikha XHTML pahina mula sa mga template na nakasulat sa TAL, Wika & nbsp ang Zope Template Katangian;. Ito ay dinisenyo upang bawasan ang code na pag-uulit sa zero.
Package ay naglalaman ng parehong WSGI application na tumatakbo Ophelia pati na rin ang isang humahawak ng kahilingan para sa mod_python, ang Python module para sa Apache2 web server.
Documentation file na tinukoy sa ibaba ay matatagpuan sa loob ng direktoryo ng pakete, kasama ang isang bilang ng mga doctests para sa mga module.
Punto ng Entry
Matapos mong na-install Ophelia at sinulat ni ilang mga template, kung paano mo maaaring gawin ito render ng mga web page?
Gamitin Ophelia sa Apache
Ang Python pakete ay naglalaman ng isang module ophelia.modpython na nagbibigay ng isang humahawak ng kahilingan para sa module ng Apache mod_python.
Gamitin Ophelia bilang isang WSGI application
Tinutukoy Ophelia isang klase ng application na sumusunod sa pamantayan WSGI, sigla 333: ophelia.wsgi.Application. Maaari mong alinman sa subukan ito sa pamamagitan ng pagpapatakbo sariling wsgiref-based HTTP server Ophelia o patakbuhin ito sa pamamagitan ng anumang server WSGI maaari mong pinapahalagahan gamitin.
Ang server wsgiref-based na naka-install bilang Ophelia-wsgiref executable kung Ophelia naka-install bilang isang itlog na may dagdag na pinagana ang "wsgiref". Nito ang script entry point ay ophelia.wsgi.wsgiref_server.
Dump iisang pahina upang stdout
Isang executable na palaging naka-install sa Ophelia itlog ay Ophelia-dump. Ang script na ito ay Ophelia-render ang mga tugon naaayon sa landas na iyong tinukoy, at mga Kopya ito sa sys.stdout, opsyonal may mga header ng HTTP. Entry point ang script ay ophelia.dump.dump.
Ang parehong mga script magbigay ng ilang mga tagubilin sa paggamit kapag tinawag gamit ang --help opsyon. Basahin ang mga ito ng configuration file; makita CONFIGURATION.txt para sa mga detalye.
Anong uri ng mga site ay Ophelia mabuti para sa?
Static nilalaman
Isaalang-alang ang Ophelia bilang SSI sa mga bawal na gamot. Ito ay hindi sa panimula naiiba, marami lang friendlier at mas may kakayahang.
Gamitin Ophelia para sa mga site kung saan mo talaga isulat ang iyong sarili sa iyong HTML, maliban na kailangan mong isulat ang umuulit na mga bagay-bagay nang isang beses lamang. Pagbawas pag-uulit sa zero ay sa isang presyo: Dapat sundin ng iyong site sa isang pattern para Ophelia upang pagsamahin ang iyong mga template sa kanan paraan.
Isaalang-alang ang layout ng iyong site upang maging hierarchical: mayroong isang karaniwang hitsura sa lahat ng iyong mga pahina, mga seksyon ay mayroon ilang mga katangian, at may natatanging nilalaman sa bawat pahina. Ito ay mahalaga sa Ophelia na ito hierarchy sumasalamin sa file system samahan ng iyong mga dokumento; kung paano pagsamahin ang mga template ay deduced mula sa kanilang lugar sa hierarchy ng direktoryo.
Dynamic na nilalaman
Ophelia gumagawa ng mga wika Python magagamit para sa pagsasama ng dynamic na nilalaman. Ang bawat file template ay maaaring magsama ng isang Python script. Python script at mga template na nag-aambag sa isang bahagi ng pahina sa isang karaniwang hanay ng mga variable na baguhin at gamitin.
Ng modelo ng nilalaman Ophelia ay napakasimple at pinakamahusay na gumagana kung bawat bagay na nilalaman-publish mo ay sarili nitong view: ang pahina na ito ay kinakatawan sa. Kung makakuha ka ng nilalaman mula sa mga panlabas na mapagkukunan pa rin (eg isang database o isang bersyon control imbakan), ito ay OK pa rin upang gumamit Ophelia kahit na may maramihang mga view sa bawat bagay na nilalaman hangga't tanawin isang bagay ay hindi depende sa uri ng object o kahit na ang bagay ang sarili nito.
Sinusubukang gumamit Ophelia sa isang mas kumplikadong site ay hahantong sa isang pangit gusot ng logic at pagtatanghal. Huwag gumamit Ophelia para sa mga site na ay aktwal na web interface sa mga application, mga sistema ng pamamahala ng nilalaman at ang mga tulad.
Paano gumagana Ophelia
File ng Template
Para sa bawat kahilingan, mukhang Ophelia para sa isang bilang ng mga file na template. Ito ay magtatagal ng isang file na may pangalang "__init__" mula sa bawat direktoryo sa path mula sa root site sa pahina, at isang pangwakas na ang isa para sa pahina mismo. Ang kahilingan ay naihatid sa pamamagitan ng Ophelia kung na panghuling template ay natagpuan.
Kapag pagbuo ng page, template ng pahina ay nasuri at ang nilalaman nito na naka-imbak sa kung ano ay tinatawag na panloob na puwang. Pagkatapos ng bawat template sa paraan pabalik mula sa pahina sa root ay sinusuri naman at maaaring isama ang kasalukuyang nilalaman ng panloob na puwang. Ang resulta ay naka-imbak sa panloob na puwang ng pagkatapos ng bawat hakbang.
Ang resulta ng pagproseso ng root template ay nagsilbi bilang ng pahina.
Python script
Ang bawat file template ay maaaring magsimula sa isang Python script. Sa kasong iyon, ang script ay pinaghihiwalay mula sa template sa pamamagitan ng ang unang paglitaw ng isang "" Na tag sa isang linya ng sarili nito (maliban para sa whitespace pakaliwa o pakanan). Kung ang template file na naglalaman lamang ng isang script na Python ngunit hindi talagang isang template, ilagay ang "" Sa kanyang huling linya.
Python script ay pinaandar sa pagkakasunud-sunod habang traversing mula sa root site sa pahina. Ang mga ito ay tumakbo sa parehong namespace ng mga variable na mamaya gamitin bilang ang pagsusuri ng konteksto ng mga template. Mga variable na itinakda sa pamamagitan ng Python script ay maaaring gamitin at binago ng anumang mga script patakbuhin sa ibang pagkakataon, pati na rin sa pamamagitan ng Tale expression na ginamit sa template.
Namespace ay nasimulan sa pamamagitan ng Ophelia na may isang solong variable, __request__, na sumasangguni ang kahilingan object. Kaya, mga script ng access sa mga detalye ng kahilingan at traversal internals. Bilang karagdagan sa pagse-set variable, mga script ay maaaring ring mag-import ng mga module, tukuyin ang mga function, i-access sa file system, at sa pangkalahatan ay gumawa ng kahit ano ang magagawa ng isang programa Python.
Paano Ophelia behaves
URL canonicalization at pag-redirect
Kung Ophelia ay nakatagpo ng isang URL na tumutukoy sa isang direktoryo ito behaves katulad ng Apache sa default configuration nito: Kung ang URL ay hindi nagtatapos sa isang slash, ire-redirect ito sa browser upang idagdag ang slash. Kung ang slash ay mayroong, ito ay subukan upang makahanap ng isang template na may pangalang index.html sa pamamagitan ng default, at i-render ito bilang direktoryo "index".
Depende sa configuration, tahasang kahilingan para sa index ng direktoryo ng mga pahina ay maaaring ire-redirect sa hubad na direktoryo ng mga URL nang hindi ang panghuling segment path. Ito ay i- sa.
Bukod pa rito, Ophelia canonicalizes mga URL na naglalaman ng mga segment ng path "." at ".." ayon sa RFC 3986 sa generic na URI syntax, at inaalis Walang laman ang segment na path na hindi sa dulo ng path. Kung ang URL ay nagbago sa pamamagitan ng mga panuntunang ito, Ophelia nagre-redirect ng browser nang naaayon.
Ang handler mod_python
Pinoproseso ng Apache2 isang kahilingan sa phase, ang bawat isa ay maaaring hinahawakan ng mga module tulad ng mod_python. Ophelia ay nagbibigay ng isang humahawak ng mod_python para sa nilalaman na henerasyon phase. Kung ang isang hiniling na URL ay naka-configure upang panghahawakan ng Ophelia, sinusubukan ng handler upang mahanap ang naaangkop na mga template sa file system, at bumuo ng isang pahina mula sa kanila.
Mod_python handler Ophelia na hindi kailanman nagiging sanhi ng File ng HTTP error Not Found. Sa halip, ipapasa ito control pabalik sa Apache at iba pang mga module kung nahahanap nito hindi ito maaaring bumuo ng isang partikular na mapagkukunan. Apache ay bumaba pabalik sa paghahatid ng mga static na nilalaman mula sa disk sa kasong iyon. Ophelia ay maaaring samakatuwid ay mai-install sa tuktok ng isang static site upang mahawakan lamang ang mga kahilingan para sa mga template na umiiral sa direktoryo ng template

Mga Kinakailangan :.

  • Python

Iba pang mga software developer ng Thomas Lotze

tl.pkg
tl.pkg

15 Apr 15

tl.testing
tl.testing

15 Apr 15

Mga komento sa Ophelia

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!