Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » Bottle проблема с шаблонами и русскими буквами в UTF8 [RSS Feed]

#1 Апрель 6, 2010 09:32:44

jingvar
От:
Зарегистрирован: 2010-03-24
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Bottle проблема с шаблонами и русскими буквами в UTF8

Bottle проблема с шаблонами и русскими буквами в UTF8

# -*- coding: utf-8 -*-
import os, datetime,sys,codecs,MySQLdb,math
db=MySQLdb.connect(...use_unicode=True,charset='utf8')
db.set_character_set('utf8')
cursor= db.cursor()
....

@route('/dealers')
def main_dealers():
cursor.execute('select * from dealer ')
data=cursor.fetchall();


return template('dealers', title= 'Dealers',names=data)
dealers.tpl
<html>

<head>
<title>{{title}}</title>
</head>
<body>
<ul>

%for name in names:
<li>{{name[1]}}</li>

%end
</ul>
</body>
</html>
{{name}}
Собственно имею ошибку
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 0-7: ordinal not in range(128)

если сделать
def main_dealers():
cursor.execute('select * from dealer ')
data=cursor.fetchall();
hu=u'<html> <head> </head> <body> <ul>'

for line in data:
hu=hu+'<li>'+line[1]+'<li>'
hu=hu+'</ul> </body></html>'
# return template('dealers', title= 'Dealers',names=data)
return hu
То все ОК



Офлайн

#2 Апрель 6, 2010 10:36:46

jingvar
От:
Зарегистрирован: 2010-03-24
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Bottle проблема с шаблонами и русскими буквами в UTF8

Лечится в шаблоне так: name.encode('utf-8')

Но как глобально задать не понятно.



Офлайн

#3 Апрель 6, 2010 16:17:50

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Bottle проблема с шаблонами и русскими буквами в UTF8

шаблоны работают с символами (unicode), а не с “массивом байт” (utf8,cp1251…) ;)

ЗЫ: в ботле можно использовать разные виды шаблонов, я юзаю jinja2

Отредактировано (Апрель 6, 2010 16:19:02)

Офлайн

  • Начало
  • » Web
  • » Bottle проблема с шаблонами и русскими буквами в UTF8[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version