Найти - Пользователи
Полная версия: POST метод и кириллица
Начало » Google App Engine » POST метод и кириллица
1
aleale
Может уже и разбирали где то, но не смог найти.

ГАЕ+Джанго 0.96

Делаю формы в шаблоне:


<form action='' method='post'>

<label for=“title”>Title</label>
<input type=“text” name=“title” value=“” id=“title”>
<br>
<label for=“ptext”>Text</label>
<input type=“text” name=“ptext” value=“” id=“ptext”>
<input type=“submit” value=“Post” />

</form>



Вьюшка:
p = Post() #модель
p.title = request.POST.get('title', ‘')
p.ptext = request.POST.get(’ptext', ‘')
p.published = True
if p.title != ’' and p.ptext != '':
p.put()

Когда вводишь латинские буквы, то все в порядке, он записывает в БД и в последующем выводит, а когда пишешь кириллицей, то выдает ошибку:
'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128)

А в Request information:
POST:
ptext ‘\xd1\x82\xd0\xb5\xd0\xb5\xd1\x81\xd1\x82’
title ‘\xd1\x82\xd0\xb5\xd1\x81\xd1\x82’
aleale
проблема решена.
Исправить в вьюшке код:
p.title = request.POST.get('title', ‘')
p.ptext = request.POST.get(’ptext', ‘')

на

p.title = unicode(request.POST.get(’title', ‘'), “utf-8”)
p.ptext = unicode(request.POST.get(’ptext', ''), “utf-8” )
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB