Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 5, 2006 16:04:46

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

form post

Вот пытаюсь написать добавление комментов на паге.
Опишу последовательнось. Захожу на страницу адрес которой index.py?post=0 .
Выбираю добавить комментарий index.py?add_comment=0. Далее это все получает функция которая через filedstorage получает номер т.е. 0 . Юзер заполняет форму и отправляет

def comment_page()
str = cgi.FieldStorage()
pid = str.value
print “”“<table width=100% border=0 cellpadding=0 id=brdt cellspacing=0><tr>
<td align=left background=../project/img/td.jpg><font color=#000000>Add comment</font></td></tr>
<tr><td valign=top>”“”
print ‘<form name=form method=post action=index.py?pid=%s>’%pid
print “”“
name:<br><input type=text name=coname size=25 id=btn>
<br>email:<br><input type=text name=coemail size=25 id=btn>
<br>comment:<br><textarea name=comment id=btn cols=50></textarea>
<br><input name=Submit type=submit id=btnb value=Add></form>
</td></tr></table>”“”

Эт все передается index.py .
Отрывок index.py

string = cgi.FieldStorage()
if string.has_key('list'):
kernel.list_category(string.value)
elif string.has_key('show'):
kernel.show_post(string.value)
elif string.has_key('add_comment'):
kernel.comment_page()
elif (string.has_key('pid')) and (string.has_key('comment')) and (string.has_key('coname')) and (string.has_key('coemail')):
kernel.add_comment(string.value,string.value,string.value,string.value)
print ‘added’

Вот тока одна трабла , нифига это работать не хочет. Может есть вариант чтобы все работало в функции (т.е. чтобы передавалось index.py?show=0&добавление). Все на cgi



Офлайн

#2 Ноя. 6, 2006 13:32:45

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

form post

справилсо



Офлайн

#3 Ноя. 6, 2006 15:59:34

alafin
Root
От: Киев, Украина
Зарегистрирован: 2006-04-06
Сообщения: 756
Репутация: +  3  -
Профиль   Отправить e-mail  

form post

niro
справилсо
каким образом?



Офлайн

#4 Ноя. 7, 2006 11:44:00

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

form post

В итоге мой вопрос сводился к тому как переправить определенное значение не вводя его , решение это html фишка типа <input type=hidden name=pid value=something>.
Все работоспособно выглядит вот так
index.py

elif (string.has_key('pid')):
pid = string.value
coname = string.value
coemail = string.value
comment = string.value
kernel.add_comment(pid,coname,coemail,comment)
print ‘Comment was added. <a href=index.py?show=%s>Go here</a>’%string.value

function

def comment_page(pid):
print “”“<table width=100% border=0 cellpadding=0 id=brdt cellspacing=0><tr>
<td align=left background=../project/img/td.jpg><font color=#000000>Add comment</font></td></tr>
<tr><td valign=top>
<form name=form method=post action=index.py>
name:<br><input type=text name=coname size=25>
<br>email:<br><input type=text name=coemail size=25>
<br>comment:<br><textarea name=comment cols=50></textarea>
<br><input type=submit value=Add>”“”
print “<input type=hidden name=pid value=%s></form></td></tr></table>”%pid



Офлайн

#5 Ноя. 8, 2006 14:56:07

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

form post

Тут возникла трабла с этим добавлением.Дело в том что оно все нормально работает, но если вводится текст на русском то все. Пытался перекодировать через unicode() , decode() , но ничего не получалось,выводит ошибку с кодировкой . Кодировка с которой добавляется текст на русском #-*-coding:koi8-r-*- надо переводить его в unicode. Посоветуйте нормальный вариант :rolleyes:



Офлайн

#6 Ноя. 8, 2006 17:19:04

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2250
Репутация: +  40  -
Профиль   Отправить e-mail  

form post

unicode(txt, “koi8-r”)

Офлайн

#7 Ноя. 9, 2006 06:03:00

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

form post

niro, а почему кодировка koi8-r, а не utf-8?

чем был обоснован твой выбор кодировки?



Офлайн

#8 Ноя. 9, 2006 07:27:33

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

form post

Выбор был обоснован тем , что в консоле установлена по умолчанию koi8-r



Офлайн

#9 Ноя. 11, 2006 14:03:20

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

form post

чтобы было как на ЛОРе ? ;)



Офлайн

#10 Ноя. 13, 2006 09:01:25

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2250
Репутация: +  40  -
Профиль   Отправить e-mail  

form post

niro
если ты “вводишь” инфу, то рациональней было бы юзать sys.getdefaultencoding() для получения кодировки системы

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version