Юрчек
Март 17, 2011 18:15:13
Скрипт при нажатии кнопочки отправить в браузере выпадает с ошибкой UnicodeDecodeError
Гугление не помогло
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import web
from web import form
urls = (
'/', 'index'
)
app = web.application(urls, globals())
my_form = form.Form(form.Textbox('subj', id='subj'),
form.Textarea('подпись', value='---\n С уважением'),
form.Button("Отправить", type="submit"))
p='''\
<body>
<form method="POST">
%s
</form>
</body>'''
class index:
def GET(self):
f = my_form()
return p % f.render()
def POST(self):
f = my_form()
return f.value['subj']
if __name__ == "__main__": app.run()
ziro
Март 18, 2011 08:41:38
Не являясь специалистом по web.py, смею предположить, что, согласно HTML спецификации, имена полей в формах должны быть в кодировке latin1, а не utf-8. Скорее всего web.py пытается их перекодировать и не может (обратите внимание на ‘подпись’).
slav0nic
Март 18, 2011 09:40:58
смею предположить, кто-то не читал доки по питону…
http://python.su/forum/search.php?search_id=124480361tip: u'РашнБуквас'
Юрчек
Март 18, 2011 11:56:59
Спасибо за помощь, разобрался