Найти - Пользователи
Полная версия: Имена файлов в Джанго на русском языке.
Начало » Django » Имена файлов в Джанго на русском языке.
1 2
MiK
Добрых суток, всем зашедшим!
Третий вопрос из моей серии:
Возможно ли сделать имена файлов в Джанго на русском языке?

Сейчас, при попытке отрендерить шаблон с русскими буквами в имени выдаёт такую ошибку:
UnicodeEncodeError at /
'ascii' codec can't encode characters in position 35-39: ordinal not in range(128)

При этом сам питон ведёт себя очень дружелюбно к языкам.
GreyZmeem
Linux Python2 Django 1.6. Все работает:
class ProfileIndexView(BaseProfileView):
    # template_name = 'profile/index.html'
    template_name = u'profile/индекс.html'
MiK
GreyZmeem
Рендерить пробовал?
GreyZmeem
Да.
MiK
GreyZmeem
Спасибо, буду тогда с кодировками разбираться.
Я думал, что нельзя.
MiK
Я вот только не до конца понял… Это у меня название файла в ‘ascii’ или это джанго просит ‘ascii’?
В джанго вроде везде utf-8 прописаны, по умолчанию.

Вот мой
$locale:
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE=“ru_RU.UTF-8”
LC_NUMERIC=“ru_RU.UTF-8”
LC_TIME=“ru_RU.UTF-8”
LC_COLLATE=“ru_RU.UTF-8”
LC_MONETARY=“ru_RU.UTF-8”
LC_MESSAGES=“ru_RU.UTF-8”
LC_PAPER=“ru_RU.UTF-8”
LC_NAME=“ru_RU.UTF-8”
LC_ADDRESS=“ru_RU.UTF-8”
LC_TELEPHONE=“ru_RU.UTF-8”
LC_MEASUREMENT=“ru_RU.UTF-8”
LC_IDENTIFICATION=“ru_RU.UTF-8”
LC_ALL=

В чём может быть проблема?
GreyZmeem
Покажите полный traceback вашей ошибки
MiK
пожалуйста
UnicodeEncodeError at /
'ascii' codec can't encode characters in position 35-39: ordinal not in range(128)
Request Method: GET
Request URL:
Django Version: 1.7.3
Exception Type: UnicodeEncodeError
Exception Value:
'ascii' codec can't encode characters in position 35-39: ordinal not in range(128)
Exception Location: /python3-env/lib/python3.4/site-packages/django/template/loaders/filesystem.py in load_template_source, line 38
Python Executable: /python3-env/bin/python3
Python Version: 3.4.2
Python Path:
['/python3-env/orion',
‘/python3-env/bin’,
‘/python3-env/lib/python3.4’,
‘/python3-env/lib/python3.4/plat-i386-linux-gnu’,
‘/python3-env/lib/python3.4/lib-dynload’,
‘/usr/lib/python3.4’,
‘/usr/lib/python3.4/plat-i386-linux-gnu’,
‘/python3-env/lib/python3.4/site-packages’]
Server time: Срд, 21 Янв 2015 17:16:15 +0300
Unicode error hint

The string that could not be encoded/decoded was: ates/карта.html
Traceback Switch to copy-and-paste view

/python3-env/lib/python3.4/site-packages/django/core/handlers/base.py in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
/python3-env/orion/orion/views.py in главная_страница
сырой_шаблон = get_template('карта.html')
MiK
Вообщем, поразбирался… На виндовсе, действительно получилось использовать русские имена, без проблем. А вот почему он здесь использует ascii кодек, мне вообще непонятно.
Как можно исправить ситуацию?

ПС: системой стоит ubuntu, на облаке.
ППС: поразбирался ещё немного, оказалось, что файлы с английскими именами действительнов кодировке 7 7bit ansii, а вот русские в utf-8. Но выхода всё равно не вижу….
MiK
Подскажите, хотябы где копать: питон, линукс, джанго?
Знает, кто-нибудь?
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