Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » Передача скрипту данных из формы. [RSS Feed]

#1 Ноя. 6, 2009 19:30:58

yegorov-p
От:
Зарегистрирован: 2009-10-11
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача скрипту данных из формы.

Допустим, есть форма с двумя полями, к примеру, ‘a’ и ‘b’. Требуется отправить значения этих полей скрипту, чтобы он их вывел. Как это можно сделать?



Офлайн

#2 Ноя. 6, 2009 19:45:27

onemoretime
От:
Зарегистрирован: 2009-10-25
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача скрипту данных из формы.

Хотел задачть точно такой же вопрос. Уточню допусти метод POST.
Код формы main.html (/var/www/django/main.html):
<form action =“” method=“post” accept-charset=“utf-8”>
<p><b>From</b><input type=“text” name=“from” value=“” id=“from” ></p>
<p><b>To</b><input type=“text” name=“to” value=“” id=“to” ></p>
<p><input type=“submit” value=“Send”></p
</form>

Код py файла:
from django.http import HttpRequest
request = HttpRequest()
print ‘POST’,request.POST
Жму на форме Send запускаю скрипт POST - пуст ))) Что я делаю не так?

2yegorov-p:
Тебе нужно отправить данные одним из методов Http. Их насколько я знаю 2: POST и GET. Про их отличия набери в google: POST и GET запросы. Далее тебе нужен обработчик запросов - это и есть скрипт. В сети я нашел фреймворк Django, который позволяет это (и не только) делать. Но с ним я еще не разорался даже вначале, кроме того, что прикрутил его к Apache. Меня тоже интересует обработка запросов.



Отредактировано (Ноя. 6, 2009 19:50:19)

Офлайн

#3 Ноя. 6, 2009 19:47:43

yegorov-p
От:
Зарегистрирован: 2009-10-11
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача скрипту данных из формы.

Ну вообще нашел вот http://python.su/blog/public/2007/03/17/cgi-veb-prilozheniya-na-python/ . Но либо я корявый, либо скрипт, но ничего не работает =)



Офлайн

#4 Ноя. 6, 2009 19:51:37

onemoretime
От:
Зарегистрирован: 2009-10-25
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача скрипту данных из формы.

Крутая статейка. Как раз для таких как я)



Офлайн

#5 Ноя. 7, 2009 00:18:05

yegorov-p
От:
Зарегистрирован: 2009-10-11
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача скрипту данных из формы.

onemoretime
2yegorov-p:
Тебе нужно отправить данные одним из методов Http. Их насколько я знаю 2: POST и GET. Про их отличия набери в google: POST и GET запросы. Далее тебе нужен обработчик запросов - это и есть скрипт. В сети я нашел фреймворк Django, который позволяет это (и не только) делать. Но с ним я еще не разорался даже вначале, кроме того, что прикрутил его к Apache. Меня тоже интересует обработка запросов.
Что такое пост и гет я знаю, равно как и чем они отличаются =)

Как вариант, скрипт пайтона может определить, с каким query есть вызвали? Дальше-то понятно как делать. =)



Офлайн

#6 Ноя. 7, 2009 13:58:51

elcamino
От:
Зарегистрирован: 2009-11-07
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача скрипту данных из формы.

Нашел обработку на С, переделал и получилось вот это:

import os
if(os.getenv("REQUEST_METHOD")=="GET"):
strng=os.getenv("QUERY_STRING")
elif(os.getenv("REQUEST_METHOD")=="POST"):
strng=input()
В итоге в переменной strng будут содержаться переданные данные, остается только обработать строку.



Отредактировано (Ноя. 7, 2009 13:59:17)

Офлайн

#7 Ноя. 7, 2009 22:04:23

yegorov-p
От:
Зарегистрирован: 2009-10-11
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача скрипту данных из формы.

В итоге погуглил и сообразил вот что: из формы гетом отправляется запрос скрипту со строчкой вида login=xxx&pass=xxx
Скрипт такой:
#!/usr/bin/python
# -*- coding: cp1251 -*-
import cgi

string = cgi.FieldStorage()
print “Content-type: text/html; charset=utf-8 \n\r”
print string.value
print string.value

Ну и потом уже полученные данные используются.



Офлайн

#8 Ноя. 8, 2009 20:40:56

onemoretime
От:
Зарегистрирован: 2009-10-25
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача скрипту данных из формы.

import os
if(os.getenv("REQUEST_METHOD")=="GET"):
strng=os.getenv("QUERY_STRING")
elif(os.getenv("REQUEST_METHOD")=="POST"):
strng=input()
Вот это круто, а я уже установил web.py



Отредактировано (Ноя. 8, 2009 20:41:18)

Офлайн

  • Начало
  • » Web
  • » Передача скрипту данных из формы.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version