Раздача Python веб-форм - PullRequest
1 голос
/ 07 мая 2010

У меня возникли проблемы при создании веб-формы с использованием полей, указанных в файле ascii. Я хочу сделать следующее: 1) Читайте в файле ascii. Это имеет форму (может иметь N элементов):

Объект1 значение1

Объект2 значение2

Объект3 значение3

Объект4 значение4

...

2) Создание веб-формы из содержимого файла ascii. Каждая строка в файле ascii должна представлять флажок формы.

...

3) Показать форму по определенному URL.

4) В «submit» вызовите скрипт cgi для обработки формы.

Моя проблема в шаге 2. Я могу легко сгенерировать статическую форму с фиксированными значениями и сохранить ее как стандартную HTML-форму, но мне нужно что-то, что будет читать в файле ascii и генерировать HTML-файл на лету при посещении этого URL-адрес.

Какой-нибудь совет, как проще всего это сделать?

Ответы [ 2 ]

2 голосов
/ 07 мая 2010

Самый простой способ настроить службу HTTP в Python: получить CherryPy (http://www.cherrypy.org)

Например, эта программа:

import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())

Настраивает веб-сервер на http://127.0.0.1/8080/ и печатает «Hello World!» когда открыли. Вместо этого верните свой собственный HTML, и вы готовы:)

В качестве альтернативы, если вы хотите разместить форму на определенном сервере, вы можете использовать модуль python ftplib, чтобы поместить ее туда.

1 голос
/ 07 мая 2010

Учитывая, что вы называете шаг 2 (обработка шаблонов) своей основной задачей, вам следует заглянуть в одну из шаблонных библиотек python. Хорошие (которые я помню сейчас) - это Мако, Генши, Джинджа и Гепард. На веб-сайте Python есть их полный список: http://wiki.python.org/moin/Templating
Лично я считаю Мако простым в использовании, но другие могут лучше подходить для вашей конкретной проблемы.
Возможно, вы также захотите взглянуть на каркас веб-приложения, который будет содержать шаблоны плюс материал cgi, описанный в ваших 3-м и 4-м шагах. Опять же, посетите веб-сайт Python для деталей и опций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...