Форум сайта python.su
есть список page
page[1]='\xc4\xe2\xe0 \xf1\xee\xee\xe1\xf0\xe0\xe6\xe5\xed\xe8\xff'
{{page.1}}
Отредактировано (Сен. 28, 2009 14:33:56)
Офлайн
Наверное надо написать в темлейете так:
{%for p in page%}
{{p}}
{%endfor%}
Офлайн
не в этом дело. так, кстати, тоже пустую страницу показывает.
в системе темплейтов существует какое-то ограничение, описание которого я не могу найти.
нашел тег который предназначен для дебага - pprint с ним показывает исходные коды, но это тоже хреново.
скорее всего нужен тег который будет переводить из исходной кодировки в читаемую. но я его найти не могу.
Офлайн
Лечить по фотографии тут никто не умеет. Так что, пока вы не покажите код, результата будет мало.
Офлайн
def get_all_published_pages(request):
raw_list=q("a", "SELECT * FROM pages_page WHERE draft=false")
if raw_list:
# Если раскоментить нижестоящее то все работает ОК.
# page_list=[]
#for raw in raw_list:
# Если раскоментить нижестоящее и передавать page_list то все работает ОК.
# page=[]
# page=list(raw)
# page[1]=unicode(page[1], "cp1251")
# page[3]=unicode(page[3], "cp1251")
# page_list.append(page)
return render_to_response("all_pages.html",{"page_list":raw_list})
else:
raise Http404()
Отредактировано (Сен. 29, 2009 15:05:11)
Офлайн
Кажется разобрался.
All of Django’s database backends automatically convert Unicode strings into the appropriate encoding for talking to the database. They also automatically convert strings retrieved from the database into Python Unicode strings. You don’t even need to tell Django what encoding your database uses: that is handled transparently.
Если это не есть причина - прошу попровать.
Офлайн
pochechyev
У вас какая цель? Найти где джанга что-то делает или свой плохой код исправить? Так займитесь делом.
Вы нас изначально обманули - ‘\xc4\xe2\xe0 \xf1\xee\xee\xe1\xf0\xe0\xe6\xe5\xed\xe8\xff’ это не utf8. Это cp1251. Отсюда и все проблемы.
Кстати, для таких простых запросов практиченее ORM использовать.
Офлайн
я и сам обманывался.
по каким-то причинам при сохранении в базу джанговская админка кодирует все данные в cp1251. соответственно когда я их вытаскиваю нужно декодировать их обратно.
а задача понять как это работает и исправить исходя из этих знаний исправить код.
использую чистый sql чтобы “научится”
Офлайн