Форум сайта python.su
Начал изучать Django по книге Форсье, изучение осложняется плохим знанием Python. Однако почти всё понятно по ходу дела. Несколько вопросов гуру для моего убыстрения :)
1) Как отобразить русские символы в шаблоне? Как только забиваю в шаблон на html что-то по-русски, python сразу ругается. А ведь это только всего лишь шаблон….
2) Есть ли фильтры для вывода даты по-русски? Например
{{ post.timestamp|date:"l, F jS" }}
Офлайн
1) Вчера столкнулся с подобной проблемой, оказалось что кодировка базы данных (mysql) была latin1 а запрос отправлял в utf8. Решилось сменой кодировки базы. Помогли ребята с этого форума, только через джаббер, спасибо им ещё раз!
2) в settings.py установи
LANGUAGE_CODE = 'ru'
TIME_ZONE = 'Europe/Moscow' #(ну или свой часовой пояс, если другой)
Суббота, Ноябрь 7th
Отредактировано (Ноя. 8, 2009 12:19:41)
Офлайн
По второму вопросу всё сработало отлично, спасибо!
А по первому - проблема в другом, тут с БД все нормально, данные из БД отображаются хорошо.
А вот шаблон не терпит никаких руcских букв, ни просто на странице, ни даже в тегах <title>. Повторюсь, при работе шаблона он прекрасно выводит из БД записи по русски.
Офлайн
у меня нормально в шаблоне уживаются латинские и русские буквы, может у Вас системная кодировка не utf8?
Офлайн
FandalХы, я под Виндовсом пока локально изучаю.
может у Вас системная кодировка не utf8?
Офлайн
может быть добавлять в файл шаблона мета-тег с кодировкой?
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Офлайн
vvivanКонечно пробовал. Только это сообщение об ошибке в python а не в браузере при исполнении, т.е. сервер уже сразу не понимает такой файл с русскими символами.
может быть добавлять в файл шаблона мета-тег с кодировкой?
Офлайн
lorien
Как именно ругается?
TemplateSyntaxError at /blog/
Caught an exception while rendering: ('utf8', '<html>\n<style type="text/css">\nbody { color: #efd; background: #453; padding: 0 5em; margin: 0 }\nh1 {padding: 1em 6em; background: #675}\nh2 {color: #3bf8; border-top: 1px dotted #fff; margin-top: 2em}\np {margin: 1em 0}\n</style>\n<head>\n<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n<title>\xcd\xe0\xe7\xe2\xe0\xed\xe8\xe5</title>\n</head>\n <body>\n <h1>this is example</h1>\n {% block content %}\n {% endblock %}\n </body>\n </html>\n', 312, 314, 'invalid data')
Request Method: GET
Request URL: http://127.0.0.1:8000/blog/
Exception Type: TemplateSyntaxError
Exception Value:
Caught an exception while rendering: ('utf8', '<html>\n<style type="text/css">\nbody { color: #efd; background: #453; padding: 0 5em; margin: 0 }\nh1 {padding: 1em 6em; background: #675}\nh2 {color: #3bf8; border-top: 1px dotted #fff; margin-top: 2em}\np {margin: 1em 0}\n</style>\n<head>\n<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n<title>\xcd\xe0\xe7\xe2\xe0\xed\xe8\xe5</title>\n</head>\n <body>\n <h1>this is example</h1>\n {% block content %}\n {% endblock %}\n </body>\n </html>\n', 312, 314, 'invalid data')
Exception Location: C:\Python26\lib\site-packages\django\template\debug.py in render_node, line 81
Python Executable: C:\Python26\python.exe
Python Version: 2.6.4
<html>
<style type="text/css">
body { color: #efd; background: #453; padding: 0 5em; margin: 0 }
h1 {padding: 1em 6em; background: #675}
h2 {color: #3bf8; border-top: 1px dotted #fff; margin-top: 2em}
p {margin: 1em 0}
</style>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Название</title>
</head>
<body>
<h1>this is example</h1>
{% block content %}
{% endblock %}
</body>
</html>
Офлайн
у вас кодировка шаблона похоже не utf, редактор настройте
Офлайн
lorienПишу под Виндовсом, соответственно в виндошной русской кодировке.
Даже не знаю, а пишите вы этот текст русский в utf-8 кодировке? Никогда с таким не сталкивался.
slav0nicда я даже не в каком-то редакторе пишу, а просто F4 в файловом менеджере )))
у вас кодировка шаблона похоже не utf, редактор настройте
Офлайн