archief:hoofdpagina_mod_python
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
archief:hoofdpagina_mod_python [2015/08/02 16:49] 0.0.0.0 aangemaakt |
archief:hoofdpagina_mod_python [2021/11/23 14:14] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Hoofdpagina/ | + | ====== Hoofdpagina/ |
+ | {{tag>" | ||
+ | |||
+ | Op de usersites staat mod_python geinstalleerd. Om deze te kunnen gebruiken zijn er enkele stappen nodig: | ||
+ | |||
+ | ===== .htaccess ===== | ||
+ | Mod_python in de puurste vorm (lees: niet psp) werkt niet volgens het model van PHP. Basically routen we alle requests van apache naar een zelfgemaakte python-applicatie, | ||
+ | |||
+ | AddHandler mod_python .py | ||
+ | PythonHandler test | ||
+ | PythonDebug On | ||
+ | |||
+ | Eventueel kan je volgend .htaccess bestand gebruiken zodat alle requests die langs deze directory gaan opgevangen worden door onze python applicatie, dus zonder dat het een request naar een .py bestand moet zijn: | ||
+ | |||
+ | SetHandler mod_python | ||
+ | PythonHandler test | ||
+ | PythonDebug On | ||
+ | |||
+ | ===== Python Code ===== | ||
+ | Maak vervolgens een test.py bestand in die directory aan. Dit is het python applicatie die de requests zal afhandelen. Als test kan je daar volgende code in smijten: | ||
+ | < | ||
+ | from mod_python import apache | ||
+ | |||
+ | def handler(req): | ||
+ | req.content_type = " | ||
+ | req.write(" | ||
+ | return apache.OK | ||
+ | </ | ||
+ | Bewaar, en ga vervolgens naar http:// | ||
+ | |||
+ | ===== Werkend Voorbeeld: Autogallerij ===== | ||
+ | Relix heeft een klein voorbeeldje opgezet om te tonen wat je er allemaal mee kan doen. De bedoeling is dat je een standaard apache-index pagina meegeeft met de request, waarna de app deze aanpast zodat je thumbnails van de fototjes ziet. Je kan het uitproberen op http:// | ||
+ | < | ||
+ | import cgitb; cgitb.enable() | ||
+ | from mod_python import apache | ||
+ | import cgi # CGI shizzle | ||
+ | |||
+ | from urllib import urlopen | ||
+ | from BeautifulSoup import BeautifulSoup, | ||
+ | from urlparse import urlparse | ||
+ | from mimetypes import guess_type | ||
+ | |||
+ | def handler(req): | ||
+ | |||
+ | # Get resource | ||
+ | | ||
+ | | ||
+ | |||
+ | # Check if it's a HTML index or an image | ||
+ | | ||
+ | |||
+ | # Download it | ||
+ | | ||
+ | |||
+ | if indexContentType == None: | ||
+ | |||
+ | | ||
+ | |||
+ | # Parse it | ||
+ | | ||
+ | |||
+ | # Retrieve all images | ||
+ | | ||
+ | |||
+ | for imageTag in imageTags: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | </ | ||
+ | |||
+ | ===== Meer Info ===== | ||
+ | Check wat je nog allemaal kan doen op de mod_python documentatie: | ||
+ | |||
+ | ===== Toekomst ===== | ||
+ | <ab3> iets als web.py zou leuk zijn, om te hebben | ||
archief/hoofdpagina_mod_python.1438534145.txt.gz · Last modified: 2021/11/23 14:01 (external edit)