2012-03-02 3 views
1

Я хочу, чтобы пользователь вводил предложение, тогда я разбиваю это предложение на список. Я получил html-страницу, но мне трудно передать это предложение на python.Как распечатать выходы на страницу html с помощью python?

Как правильно отправить пользовательский ввод для обработки на python и вывести его на новую страницу?

+1

Вы используете каркас? Код в ваших вопросах действительно поможет вам найти ответ. – sparrow

ответ

3

Существует много Python web frameworks. Например, чтобы разбить предложение, используя bottle:

break-sentence.py:

#!/usr/bin/env python 
from bottle import request, route, run, view 

@route('/', method=['GET', 'POST']) 
@view('form_template') 
def index(): 
    return dict(parts=request.forms.sentence.split(), # split on whitespace 
       show_form=request.method=='GET') # show form for get requests 

run(host='localhost', port=8080) 

И файл form_template.tpl шаблона, который используется как для отображения формы и частей предложения после обработки в Python (см index() выше функции):

<!DOCTYPE html> 
<title>Break up sentence</title> 
%if show_form: 
<form action="/" method="post"> 
    <label for="sentence">Input a sentence to break up</label> 
    <input type="text" name="sentence" /> 
</form> 
%else: 
Sentence parts:<ol> 
%for part in parts: 
    <li> {{ part }} 
%end 
</ol> 
%end 

request.forms.sentence используется в Python для доступа пользовательского ввода из <input name="sentence"/> поля.

Чтобы попробовать его, вы можете просто скачать и запустить bottle.py:

$ python break-sentence.py 
Bottle server starting up (using WSGIRefServer())... 
Listening on http://localhost:8080/ 
Hit Ctrl-C to quit. 

Теперь вы можете посетить http://localhost:8080/.

+0

круто! Я фактически использовал бутылку, чтобы делать некоторые простые страницы, но я не знал, что могу использовать% -ный код в html, а также использовать код python .. это должен быть файл .tpl, чтобы иметь код python или он может быть. html-файл и бутылка знали бы, как сделать результаты ??? – iCodeLikeImDrunk

+1

@JoeChen: 'form_template.tpl' не является html-файлом; это шаблон. Чтобы отобразить его как html 'bottle', используются переменные' parts', 'show_form', которые вы передаете в функцию' index() '. [Вы можете использовать расширение '.html' (https://github.com/defnull/bottle/blob/master/bottle.py#L2597), но я не вижу в нем упоминания в [документах] (http://bottlepy.org/docs/dev/index.html), поэтому он может быть неподдерживаемым. – jfs

+0

Это должен быть мой последний вопрос: работает ли бутылка с любой базой данных/sql? django просто слишком для меня прямо сейчас – iCodeLikeImDrunk

2

Вы пробовали Google? This page суммирует возможности и является одним из первых результатов, когда googling «python html».

Насколько я знаю, двумя самыми легкими параметрами для вашей проблемы являются следующие.

1) CGI-скриптинг. Вы пишите скрипт python и настраиваете его как CGI-скрипт (в случае большинства HTTP-серверов, помещая его в папку cgi-bin/). Затем вы указываете на этот файл как action -трибут form -tag в вашем HTML-файле. Питон-скрипт будет иметь доступ ко всем пост-переменным (и более), таким образом, имея возможность обрабатывать входные данные и записывать их как HTML-файл. Посмотрите на это page для более подробного описания. Google для учебных пособий даст вам более простые пошаговые руководства, такие как this one.

2) Использовать Django. Это скорее подходит для более крупных проектов, но, давая ему попробовать на этом уровне, вы можете дать вам определенные идеи и увлажнить свой аппетит для будущей работы;)

+2

Микрофотография, такая как флакон или бутылка, может быть лучшей альтернативой, чем CGI. Такая же простота, но удобство. – jfs

Смежные вопросы