securelord
Фев. 6, 2008 16:19:06
Если я из вьювера передаю в темплейт строку с кириллицей, то мне выдает ошибку что то типа “Non-ASCII character…”.
Как это лечится и если лечится вообще? Или это фича? Или пользовать что то вроде encode(), unucode() ?
fvk
Фев. 6, 2008 17:35:43
# -*- coding:utf-8 -*-
так должен начинаться файл
fvk
Фев. 6, 2008 17:37:16
securelord
Фев. 6, 2008 18:29:13
fvkне совсем так. Если я передаю в темплейт кортеж ‘а’ взятый из базы, то взяв и написав а.1 я получу что то типа “X%/…”. А вот если я напишу такую конструкцию
{% for b in a %}
{{ b.0 }}
{{ b.1 }}
{{ b.2 }}
{% endfor %}то кириллица отображается нормально.
j2a
Фев. 6, 2008 20:43:52
Чтобы не гадать на кофейной гуще, securelord, показывай пример вьюшки, пример шаблона,
jan2ary
Фев. 8, 2008 09:51:36
… и версию django.
securelord
Фев. 8, 2008 16:52:10
вьювер
def edit(request, num):
cursor = connection.cursor()
cursor.execute('CALL select_task('+'\''+ num+'\');')
edit = cursor.fetchall()
request.session['data_id'] = num
return render_to_response('home.html', {'edit': edit})
шаблон
{% if edit %}
<form action="/user/edit_task/" method="post">
{% for b in edit %}
<table>
<tr>
<td>Название</td>
<td><input value="{{ b.0 }}" type="text" name="data_name" maxlength="45"></td>
</tr>
<tr>
<td>Время окончания</td>
<td><input value="{{ b.1 }}" type="text" name="time_end" /></td>
</tr>
<tr>
<td>Задача</td>
<td><TEXTAREA name="data" rows="5" cols="35">{{ b.2 }}</TEXTAREA></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Изменить" /></td>
</tr>
</table>
{% endfor %}
</form>
{% endif %}
Версия Django - 0.96.1
jan2ary
Фев. 13, 2008 10:52:17
Возьмите джанго из репозитория, она умеет юникод.
securelord
Фев. 13, 2008 11:10:46
jan2ary
Так и сделал. Работает.
MisterPython
Авг. 15, 2010 15:20:39
Такая же проблема, но решить её вышенаписанными вариантами не могу (именно не помогает функция unicode… строка # -*- coding:utf-8 -*- в начале views.py тоже не решает эту проблему, даже если её разкоментировать…). Версия джанги - 1.2.0 Как же мне сделать так, что б джанга кириллицу понимала? Заранее огромное спасибо!