User Tools

Site Tools


archief:hoofdpagina_mod_python

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
archief:hoofdpagina_mod_python [2015/08/02 16:50]
0.0.0.0 aangemaakt
archief:hoofdpagina_mod_python [2021/11/23 14:14] (current)
Line 1: Line 1:
-====== Hoofdpagina/Mod_python ======+====== Hoofdpagina/Mod python ======
  
-[[Category:Prutsen]]+{{tag>"Prutsen" }}
  
 Op de usersites staat mod_python geinstalleerd. Om deze te kunnen gebruiken zijn er enkele stappen nodig: Op de usersites staat mod_python geinstalleerd. Om deze te kunnen gebruiken zijn er enkele stappen nodig:
Line 8: Line 8:
 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, die verder de request afhandelt. Hiervoor moeten we eerst een .htaccess aanmaken om Apache te zeggen welke applicatie dit nu precies is. Maak in je public_html een directory aan, bv "python", en zet daar volgend .htaccess bestand: 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, die verder de request afhandelt. Hiervoor moeten we eerst een .htaccess aanmaken om Apache te zeggen welke applicatie dit nu precies is. Maak in je public_html een directory aan, bv "python", en zet daar volgend .htaccess bestand:
  
- AddHandler mod_python .py +  AddHandler mod_python .py 
- PythonHandler test +  PythonHandler test 
- PythonDebug On+  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: 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 +  SetHandler mod_python 
- PythonHandler test +  PythonHandler test 
- PythonDebug On+  PythonDebug On
  
 ===== Python Code ===== ===== 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: 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:
- +<code> 
- from mod_python import apache+from mod_python import apache
    
- def handler(req): +def handler(req): 
-     req.content_type = "text/html" +  req.content_type = "text/html" 
-     req.write("Helloooooo world, I'm PYTHON! Also, Relix ROX"+  req.write("Helloooooo world, I'm PYTHON! Also, Relix ROX"
-     return apache.OK +  return apache.OK 
 +</code>
 Bewaar, en ga vervolgens naar http://endymion.ugent.be/~user/python/bla.py (remember: alle requests in python/ die eindigen met een extensie .py zal worden geroute naar onze test.py applicatie. Met meer geavanceerdere apache-conf shizzle kan je dit wellicht aanpassen). Bewaar, en ga vervolgens naar http://endymion.ugent.be/~user/python/bla.py (remember: alle requests in python/ die eindigen met een extensie .py zal worden geroute naar onze test.py applicatie. Met meer geavanceerdere apache-conf shizzle kan je dit wellicht aanpassen).
  
 ===== Werkend Voorbeeld: Autogallerij ===== ===== 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://endymion.ugent.be/~relix/autogallery/, maar je moet er dus wel een index bij geven, bijvoorbeeld http://endymion.ugent.be/~relix/autogallery/http://code31.lahaag.org/jpeg/ (van random google op "index of jpeg") 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://endymion.ugent.be/~relix/autogallery/, maar je moet er dus wel een index bij geven, bijvoorbeeld http://endymion.ugent.be/~relix/autogallery/http://code31.lahaag.org/jpeg/ (van random google op "index of jpeg")
- +<code> 
- import cgitb; cgitb.enable()            # Detailed exception handler +  import cgitb; cgitb.enable()            # Detailed exception handler 
- from mod_python import apache           # Import req etc. +  from mod_python import apache           # Import req etc. 
- import cgi                              # CGI shizzle +  import cgi                              # CGI shizzle 
    
- from urllib import urlopen +  from urllib import urlopen 
- from BeautifulSoup import BeautifulSoup, Tag +  from BeautifulSoup import BeautifulSoup, Tag 
- from urlparse import urlparse +  from urlparse import urlparse 
- from mimetypes import guess_type+  from mimetypes import guess_type
    
- def handler(req):+  def handler(req):
    
          # Get resource          # Get resource
Line 73: Line 73:
    
          return apache.OK          return apache.OK
- +</code>
  
 ===== Meer Info ===== ===== Meer Info =====
Line 81: Line 80:
 ===== Toekomst ===== ===== Toekomst =====
 <ab3> iets als web.py zou leuk zijn, om te hebben <ab3> iets als web.py zou leuk zijn, om te hebben
 +
archief/hoofdpagina_mod_python.1438534236.txt.gz · Last modified: 2021/11/23 14:02 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki