eEcho blog

is een halte van de gedachte

mod_python ubuntu

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 server

def 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: %s

I 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.

Home | info@eecho.info | Voorwaarden | Blog