Найти - Пользователи
Полная версия: Ошибка с уникодом
Начало » Django » Ошибка с уникодом
1
Mixeyka
Ошибка такая:
Django Version: 1.7.1
Exception Type: UnicodeEncodeError
Exception Value:
'ascii' codec can't encode characters in position 26-32: ordinal not in range(128)
Exception Location: /mik/www/lib/python3.4/site-packages/django/template/loaders/filesystem.py in load_template_source, line 38
Python Executable: /mik/www/bin/python3
Python Version: 3.4.0

Проблема в том, что я назвал файл шаблона русским языком.
Во первых хотелось бы узнать, что именно он не смог раскодировать - само имя файла не смог считать, или он считал имя файла, но вставил его во вьюху в недопустимой кодировке?

Возможно ли что-то придумать, чтобы шаблоны называть по русски?

Знаю - вопрос сложный. Надеюсь, что кто-то ответит.
alexsis
А зачем в названии шаблона использовать кириллицу?
Mixeyka
Кому то удобнее на русском, когда шаблонов много.
den4ik
template_name = u'dashboard/индекс.html'
Но бред же.
JOHN_16
Mixeyka
а обычный traceback ошибки где? Он то и подскажет. НУ а на вскидку - содержимое самих шаблонов соответствует кодировке ОС? Потому что если текст шаблона был написан в винде с ее cp1251, то на линуксе с его utf-8 по умолчанию он просто не сможет его раскодировать.
Mixeyka
JOHN_16
Да не, я в nano делал.
На данный момент, так и не смог решить проблему. Если тебе что-то конкретное надо, чтобы помочь, то я могу воспроизвести ошибку.
JOHN_16
Mixeyka
Python хорош тем, что при возникновение исключительной ситуации чаще всего выдает достаточно полный traceback по которому можно отследить место возникновения ошибки.
Например если я попробую поделить на ноль в в каком то модуле, то сообщение об ошибке проинформирует меня о то что возникла в таком то модуле в строчке 10. И уже там я ищу проблему.
Traceback (most recent call last):
  File "C:\[b]ruru.py[/b]", [b]line 10[/b], in <module>
    print j/(i-1)
ZeroDivisionError: integer division or modulo by zero
В вашем случае желательно видеть вот такой полный(!) код ошибки, потому что на вид выглядит все нормально.

P.S. если вы путаетесь в своих шаблонах. то лучше просто по другому организовывать структуру именования. Например именовать в соответствии с приложениями или структурными блоками вашего проекта, например one.html one_two.html one_three.html one_two_three.html и тп.
Mixeyka
Извиняюсь, что так редко отвечаю - очень много дел свалилось. Постараюсь завтра полный отчёт об ошибке выложить.

JOHN_16
То что я пытаюсь сделать, это, наверное, эксперимент. Стараюсь сделать на русском всё что возможно, и смотрю как это выглядит и читается. Сам код питона, на русском выглядит замечательно, особенно модульное программирование, понравилось.

Шаблоны хочется увидеть примерно в виде такого списка:

страница_авторизации.мобильник
главное_меню.мобильник
настройки_пользователя.мобильник
список_сотовых_операторов.мобильник
список_друзей_в_онлайне.мобильник

Этакие, самодокументируемые названия шаблонов получаются. И, на мой взгляд, так ассоциации намного легче возникают, чем по английски.
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