Найти - Пользователи
Полная версия: Django и кириллица
Начало » Django » Django и кириллица
1 2
securelord
Если я из вьювера передаю в темплейт строку с кириллицей, то мне выдает ошибку что то типа “Non-ASCII character…”.
Как это лечится и если лечится вообще? Или это фича? Или пользовать что то вроде encode(), unucode() ?
fvk
# -*- coding:utf-8 -*-
так должен начинаться файл
fvk
http://www.python.org/peps/pep-0263.html
securelord
fvk

не совсем так. Если я передаю в темплейт кортеж ‘а’ взятый из базы, то взяв и написав а.1 я получу что то типа “X%/…”. А вот если я напишу такую конструкцию

{% for b in a %}

{{ b.0 }}
{{ b.1 }}
{{ b.2 }}

{% endfor %}
то кириллица отображается нормально.
j2a
Чтобы не гадать на кофейной гуще, securelord, показывай пример вьюшки, пример шаблона,
jan2ary
… и версию django.
securelord
вьювер

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
Возьмите джанго из репозитория, она умеет юникод.
securelord
jan2ary

Так и сделал. Работает.
MisterPython
Такая же проблема, но решить её вышенаписанными вариантами не могу (именно не помогает функция unicode… строка # -*- coding:utf-8 -*- в начале views.py тоже не решает эту проблему, даже если её разкоментировать…). Версия джанги - 1.2.0 Как же мне сделать так, что б джанга кириллицу понимала? Заранее огромное спасибо!
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