Om te installeren en configureren mod_python ubuntu zie http://www.eecho.info/Echo/python/configureren-modpython-ubuntu-debian/
Snel start met Publisher Handler
Het volgende voorbeeld toont een eenvoudige feedback formulier. Het formulier zal vragen de naam, e-mailadres en een opmerking en een e-mail naar de webmaster verzenden met informatie. Deze eenvoudige aanvraag bestaat uit twee bestanden: form.html - het formulier voor het verzamelen van de gegevens, en form.py - het doelwit van de formulier.
form.html
<html>
Please provide feedback below:
<p>
<form action=”form.py/email” method=”POST”>Name: <input type=”text” name=”name”><br>
Email: <input type=”text” name=”email”><br>Comment: <textarea name=”comment” rows=4 cols=20></textarea><br>
<input type=”submit”></form>
</html>
Dan ook form.py
import smtplib
WEBMASTER = “webmaster” # webmaster e-mail
SMTP_SERVER = “localhost” # your SMTP serverdef email(req, name, email, comment):
# make sure the user provided all the parameters
if not (name and email and comment):
return “A required parameter is missing, \
please go back and correct the error”# create the message text
msg = “”"\
From: %s
Subject: feedback
To: %sI have the following comment:
%s
Thank You,
%s
“”" % (email, WEBMASTER, comment, name)
# send it out
conn = smtplib.SMTP(SMTP_SERVER)
conn.sendmail(email, [WEBMASTER], msg)
conn.quit()# provide feedback to the user
s = “”"\
<html>Dear %s,<br>
Thank You for your kind comments, we
will get back to you shortly.</html>”"” % name
return s
Wanneer de gebruiker klikt op de knop Verzenden, de handler laadt de e-mail functie in de form.py module.
Merk op dat u niet hoeft te hebben req als een van de argumenten als u niet nodig heeft. De handler is slim genoeg om uw functie te behandelen met juiste action. ( dus via get http://localhost/form.py/email?email=ser@pandora.be&name=name&comment=comment zal het even goed werken )
De gegevens worden verstuurd naar de browser via de return waarde van de functie.
Het kan allemaal dezelfde dingen die u kunt doen met een ‘native’ mod_python handler, bijvoorbeeld aangepaste headers via req.headers_out verzenden, terugkeer fouten door apache.SERVER_ERROR exceptions, schrijf of lees direct naar en van de client via req.write () en req.read (), enz.
Add A Comment
You must be logged in to post a comment.
