Найти - Пользователи
Полная версия: вывод unicode
Начало » Django » вывод unicode
1
diego
Доброго времени суток!
Из джанго бук
>>> from django.template import Context, Template

>>> t = Template(u'Меня зовут {{ name }}.')

>>> c = Context({'name': u'Стефан'})

>>> t.render(c)

u'Меня зовут Стефан.'
у меня же вывод вот такой
>>> from django.template import Context, Template
>>> t = Template(u'Меня зовут {{ name }}.')
>>> c = Context({'name': u'Стефан'})
>>> t.render(c)
u'\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0421\u0442\u0435\u04
44\u0430\u043d.'
Почему так?
думал что дело в настройках джанги,добавил
DEFAULT_CHARSET= 'utf-8'
LANGUAGE_CODE = 'ru'
толку никакого
Андрей Светлов
>>> print t.render©
и будет вам счастье
diego
Андрей Светлов
>>> print t.render©
и будет вам счастье
Согласен, так работает, но мне нужен именно вот такой вывод u'Меня зовут Стефан.'
Как быть?
Андрей Светлов
>>> t.render©
аналогичен
>>> print (repr(t.render©))
Так работает консоль Питона.
repr преобразует строку так, чтобы она содержала только ASCII символы.
Всё остальное заменяется на коды.

Явное указание
>>> print (repr(t.render©))
Печатает в кодировке консоли.

На самом деле строка не меняется, вы уже получили в t.render© всё, что нужно.
Используйте значение дальше - нет проблем.

Вопрос только в формате вывода. Считайте это фичей.
diego
Андрей Светлов
>>> t.render©
аналогичен
>>> print (repr(t.render©))
Так работает консоль Питона.
repr преобразует строку так, чтобы она содержала только ASCII символы.
Всё остальное заменяется на коды.

Явное указание
>>> print (repr(t.render©))
Печатает в кодировке консоли.

На самом деле строка не меняется, вы уже получили в t.render© всё, что нужно.
Используйте значение дальше - нет проблем.

Вопрос только в формате вывода. Считайте это фичей.
спасибо:)
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