Форум сайта python.su
Если я из вьювера передаю в темплейт строку с кириллицей, то мне выдает ошибку что то типа “Non-ASCII character…”.
Как это лечится и если лечится вообще? Или это фича? Или пользовать что то вроде encode(), unucode() ?
Офлайн
# -*- coding:utf-8 -*-
так должен начинаться файл
Офлайн
Офлайн
fvk
не совсем так. Если я передаю в темплейт кортеж ‘а’ взятый из базы, то взяв и написав а.1 я получу что то типа “X%/…”. А вот если я напишу такую конструкцию
{% for b in a %}
{{ b.0 }}
{{ b.1 }}
{{ b.2 }}
{% endfor %}
Отредактировано (Фев. 6, 2008 18:29:32)
Офлайн
Чтобы не гадать на кофейной гуще, securelord, показывай пример вьюшки, пример шаблона,
Офлайн
… и версию django.
Офлайн
вьювер
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 %}
Офлайн
Возьмите джанго из репозитория, она умеет юникод.
Офлайн
jan2ary
Так и сделал. Работает.
Офлайн
Такая же проблема, но решить её вышенаписанными вариантами не могу (именно не помогает функция unicode… строка # -*- coding:utf-8 -*- в начале views.py тоже не решает эту проблему, даже если её разкоментировать…). Версия джанги - 1.2.0 Как же мне сделать так, что б джанга кириллицу понимала? Заранее огромное спасибо!
Офлайн