'ascii' codec can't encode characters in position 0-1: ordinal not in range(128) в блоке show_menu или breadcrumbs
8 октября 2016 г. 7:11
При возникновении ошибки 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128) django указывать на то, что что-то с show_menu {% show_menu 0 100 3 100 %} или, например, с show_breadcrumb {% show_breadcrumb 0 "cms/breadcrumbs.html" 1 %}:
Как ни странно, но ошибка возникает, если после обновления Django CMS на версию 3.4.0 у вас было зарегистрировано какое-то своё cms-приложение (apphook) и файл назвался cms_app.py.
Причём интересно то, что если посмотреть трейсбек, то увидим, что проблема-то в показе русских букв. Да, собственно, такая ошибка возникает при проблеме с кодировкой. Нужно всего лишь-то использовать unicode. Если по дебагеру посмотреть, то увидим, что django-cms пытается показать нам ошибку:
Не найдено зарегистрированных приложений 'my_app'
Чтобы исправить ошибку, попробуйте переименовать этот файл на cms_apps.py.
Начиная с Django CMS 3.4.Х cms-файлы нужно называть так:
- cms_apps.py
- cms_plugins.py
- cms_toolbars.py
- cms_menus.py
Без окончания "s" теперь не будет работать.
Похожие статьи:
Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.
Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.
Комментарии: 0