Примеры создания скриптов на python (*.py)

Создание скриптов на python (*.py) на примере скриптов обработки форм
Внимание: примеры для mod_python даны для ознакомления, рекомендуется использовать запуск под CGI или FastCGI.

1. Пример Python скрипта для обработки формы, рассчитанный на mod_python:

from mod_python import apache, util

def index(req): 
    form = util.FieldStorage(req)
    req.content_type = "text/html"
    if not req.form.has_key("s_name"):
        req.write('<html><head><title>Situation snapshot</title></head><body>')
        req.write('<h1>Simple form</h1><form action="gui.py" method="POST">')
        req.write('Enter your name: <input name="s_name" type="text"><br>')
        req.write('<input name="submit" type="submit"></form></body></html>')
    else:
        req.write ("<p>Your name is: %s" % req.form['s_name'])
    req.write('</body></html>')

Для того чтобы Ваши скрипты, разработанные на python работали под Apache (mod_python), Вам необходимо в файле .htaccess корня сайта, добавить следующее:

<Files ~ (\.py$)>
PythonHandler mod_python.publisher
</Files>

После чего скрипт можно помещать в любой каталог Вашего сайта.

2. Пример Python скрипта для обработки формы, рассчитанный на запуск под CGI:

#!/usr/bin/python

print "Content-type: text/html"
print
print "<html><head><title>Situation snapshot</title></head><body>"

import cgi
form = cgi.FieldStorage()

if not form.has_key("s_name"):
    print '<h1>Simple form</h1><form action="guicgi.py" method="POST">'
    print 'Enter your name: <input name="s_name" type="text"><br>'
    print '<input name="submit" type="submit"></form></body></html>'
else:
    print "<p>Your name is:",form['s_name'].value

print "</body></html>"

Данный скрипт необходимо поместить в каталог cgi-bin домашнего каталога и выставить права на запуск.

3. Пример Python скрипта для обработки формы, рассчитанный на запуск под mod_python.cgihandler :

print "Content-type: text/html"
print
print "<html><head><title>Situation snapshot</title></head><body>"

import os, cgi
form = cgi.FieldStorage(environ=os.environ,keep_blank_values=1)

if not form.has_key("s_name"):
    print '<h1>Simple form</h1><form action="guicgi.py" method="POST">'
    print 'Enter your name: <input name="s_name" type="text"><br>'
    print '<input name="submit" type="submit"></form></body></html>'
else:
    print "<p>Your name is:",form['s_name'].value

print "</body></html>"

4 . Пример Python скрипта для обработки формы, рассчитанный на запуск под FastCGI:

#!/usr/bin/python
import fcgi

while fcgi.isFCGI():
    req = fcgi.Accept()
    print "Content-type: text/html"
    print
    print "<html><head><title>Situation snapshot</title></head><body>"
    form = req.getFieldStorage()
    if not form.has_key("s_name"):
        print '<h1>Simple form</h1><form action="guicgi.fcgi" method="POST">'
        print 'Enter your name: <input name="s_name" type="text"><br>'
        print '<input name="submit" type="submit"></form></body></html>'
    else:
        print "<p>Your name is:",form['s_name'].value


    print "</body></html>"
    req.Finish() 

В файл .htaccess корня сайта, необходимо добавить следующее:

Options +ExecCGI
AddHandler fcgid-script .fcgi

Так же необходимо положить файл fcgi.py в один каталог со скриптом обработки формы или в любой другой каталог прописав путь к нему в переменной окружения PYTHONPATH .

У сотрудников хостинга КОМТЕТ большой опыт по разработке и интегрции Python-проектов, вы всегда можете обратиться к нам за помощью и консультацией.

Вам также может помочь