2013-07-21 1 views
0

в моем проекте у меня есть эта ошибка:Джанго-КМВ и ошибка с CMS_PLACEHOLDER_CONF

" Файл„/home/xxx/www/yyy/cms/utils/placeholder.py“, строка 43, в validate_placeholder_name («Идентификаторы идентификаторов заполнитель не могут быть») django.core.exceptions.ImproperlyConfigured: имена идентификаторов заполнитель не могут содержать символы не-ascii. Если вы хотите, чтобы ваши идентификаторы-заполнители содержали символы не-ascii при отображении пользователям, используйте CMS_PLACEHOLDER_CONF с ключом «имя», чтобы указать подробное имя. «

У моих настроек.py нет CMS_PLACEHOLDER_CONF, поэтому он по умолчанию {} - пустой dict.

Любая идея, почему у меня ошибка, и у меня не было настроек по умолчанию?

+0

Вы могли бы показать код шаблона? – Paulo

+0

в шаблоне я: {% render_placeholder content%} - где content в models.py есть: content = PlaceholderField (_ (u'Content '), help_text = "Plugins") – pmoniq

ответ

1

Вашей ошибка в этой строке

content = PlaceholderField(_(u'Content'), help_text="Plugins") 

вы не можете передать переводимые строки в качестве имени заполнителя (слот) просто потому, что один из переводов могут иметь не-ASCII символы, не говоря уже о несколько проблем, которые возникнут, поскольку строка используется как идентификатор. Вот что я хотел бы сделать:

content = PlaceholderField(u'content', help_text="Plugins") 

, а затем добавить надлежащую переводимую строку в конфигурации для заполнителя, который позволяет дать читаемое имя более человеку, а также иметь его на разных языках с использованием рамок Джанго переводов:

CMS_PLACEHOLDER_CONF = { 
    'content': { 
     'name': gettext("Content"), 
    }, 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^