Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 6, 2008 16:19:06

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

Django и кириллица

Если я из вьювера передаю в темплейт строку с кириллицей, то мне выдает ошибку что то типа “Non-ASCII character…”.
Как это лечится и если лечится вообще? Или это фича? Или пользовать что то вроде encode(), unucode() ?



Офлайн

#2 Фев. 6, 2008 17:35:43

fvk
От:
Зарегистрирован: 2007-10-25
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Django и кириллица

# -*- coding:utf-8 -*-
так должен начинаться файл



Офлайн

#3 Фев. 6, 2008 17:37:16

fvk
От:
Зарегистрирован: 2007-10-25
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Django и кириллица

Офлайн

#4 Фев. 6, 2008 18:29:13

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

Django и кириллица

fvk

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

{% for b in a %}

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

{% endfor %}
то кириллица отображается нормально.



Отредактировано (Фев. 6, 2008 18:29:32)

Офлайн

#5 Фев. 6, 2008 20:43:52

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Django и кириллица

Чтобы не гадать на кофейной гуще, securelord, показывай пример вьюшки, пример шаблона,



Офлайн

#6 Фев. 8, 2008 09:51:36

jan2ary
От:
Зарегистрирован: 2006-11-21
Сообщения: 49
Репутация: +  0  -
Профиль   Отправить e-mail  

Django и кириллица

… и версию django.



Офлайн

#7 Фев. 8, 2008 16:52:10

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

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 %}


Версия Django - 0.96.1



Офлайн

#8 Фев. 13, 2008 10:52:17

jan2ary
От:
Зарегистрирован: 2006-11-21
Сообщения: 49
Репутация: +  0  -
Профиль   Отправить e-mail  

Django и кириллица

Возьмите джанго из репозитория, она умеет юникод.



Офлайн

#9 Фев. 13, 2008 11:10:46

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

Django и кириллица

jan2ary

Так и сделал. Работает.



Офлайн

#10 Авг. 15, 2010 15:20:39

MisterPython
От:
Зарегистрирован: 2010-05-23
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Django и кириллица

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



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version