LINUX.ORG.RU

django проблемы с выводом русского текста из БД


0

1

Доброе время суток!

есть такая модель:

class Clients(models.Model):
        name = models.CharField(max_length=255)
        enable = models.PositiveIntegerField()

        def __unicode__(self):
                return self.name

        class Meta:
                ordering = ["name"]

И такой вид:

def choice_clients_form(request):
        a = [[cl.name] for cl in Clients.objects.all()]+[Clients.objects.all()]
        return render_to_response('form_choice_clients.html', {'data': a})

Так вод вывод я получаю такой:

[[u'12 \u0441\u0442\u0443\u043b\u044c\u0435\u0432'], [u'Umbrello'], [<Clients: 12 стульев>, <Clients: Umbrello>]]


Т.е. как и ожидались вывод в юникоде, но русские буквы не отобразились при просмотре отдельного поля. ЧЯДНТ?

[code] $ python2 Python 2.7.1 (r271:86832, Dec 2 2010, 03:10:07) [GCC 4.5.1 20101125 (prerelease)] on linux2 Type «help», «copyright», «credits» or «license» for more information.

print u'12 \u0441\u0442\u0443\u043b\u044c\u0435\u0432'

12 стульев [/code]

Прочитай что-нибудь про питон вообще. Не про джангу.

//P.S. Похоже джанго скоро превратит питон в пхп. Люди даже не пытаются разобраться в языке, на котором пишут.

anonymous
()
Ответ на: комментарий от anonymous
$ python2
Python 2.7.1 (r271:86832, Dec  2 2010, 03:10:07) 
[GCC 4.5.1 20101125 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print u'12 \u0441\u0442\u0443\u043b\u044c\u0435\u0432'
12 стульев

Прочитай что-нибудь про питон вообще. Не про джангу.

//P.S. Похоже джанго скоро превратит питон в пхп. Люди даже не пытаются разобраться в языке, на котором пишут.

// P.P.S а я идиот и не читаю то, что пишу, извините

anonymous
()
Ответ на: комментарий от vasya_p

>ну да, в терминале отображается корректно :)

Дело не в терминале, а в разнице между str/unicode и repr.

PS. Про пхп не понял... ладно, проехали )

Это мягкий намёк на незнание базовых основ матчасти:) Всё же почитайте.

anonymous
()
Ответ на: комментарий от anonymous

я как бы давно с питоном... так что спасибо. но до этого не занимался вэб-разработкой: просто вычислительные программы и скрипты, ну вы поняли. :) А за подсказку спасибо, попробую

vasya_p
() автор топика
Ответ на: комментарий от anonymous

> //P.S. Похоже джанго скоро превратит питон в пхп.

дада, неосиляторы пхп придумали питон и строят из себя «илиту», но неумолимая практика веб-разработок толкает их к единственному безальтернативному варианту. интересно, сколько вас таких, питонщиков, кодящих на пхп под одеялом с фонариком?

heisenberg ★★
()
Ответ на: комментарий от heisenberg

Не знаю, интересно ещё кому-то, или уже нет, ведь тема скатывается в неизвестно что и даже с наездом на меня о_О

В общем, как говорится, сам дурак. Для пробы передал из представления лист листов и захотел вывести. А потом, думал, если всё получится, напишу в шаблоне двойной циклик, чтобы таблицу нарисовать. Но не получилось, и тогда я запаниковал :-)

Простые типы передавались правильно, а части «сложной структуры» нет. Но немного подумав, всё же написал шаблонный цикл и всё заработало как планировалось.

PS. пхп ни разу даже не ковырял, не то что писал, но «замашки», очевидно, из дельфи и перла 8)

vasya_p
() автор топика
Ответ на: комментарий от trashymichael

Так я ж говорю: всё уже получилось. )))) Тупанул я малёхо:

def choice_clients_form(request):
        a = [[cl.name] for cl in Clients.objects.all()]+[Clients.objects.all()]
        return render_to_response('form_choice_clients.html', {'data': a})

Возвращал «куски» сложного объекта, по-простому склеенные как там написано. и отображается «странное». Но если подумать так и должно быть. Теперь же я возвращаю объект целиком и в шаблоне двойным циклом разбираю.

Стыдно просто жуть: полдня тогда убил на «войну с мельницами»

Спасибо за помощь. )))

vasya_p
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.