Почему µ отображается как M в админке django? - PullRequest
2 голосов
/ 08 февраля 2011

Я использую следующий код в модели django для форматирования столбца в интерфейсе администратора:

def formatted_mu(self):
    return "%.1f%%" % self.mu
formatted_mu.short_description = u'\u03BC'

По какой-то причине вместо того, чтобы показывать µ в заголовке, он показывает M. Я знаю, что это должно сработать, как когда я попробовал u '\ u03A3', я получил ∑.

Ссылка на кодировку:

UPDATE:
Я обнаружил, что другие строчные греческие буквы также заменяются прописными. Есть ли способ избежать этого?

Ответы [ 3 ]

3 голосов
/ 08 февраля 2011

То, что М является столицей Му.Сигма выглядит отчетливо, но заглавная Му похожа на нашу М.

2 голосов
/ 08 февраля 2011

Джанго использует первую букву в любом поле

1 голос
/ 08 февраля 2011

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

Например,

class SomeModel(models.Model):
     class Meta:
         verbose_name_plural = u' \u03BC'

EDIT1: мое первоначальное решение не сработало, поскольку django всегда использует заглавные буквы даже в verbose_name_plural (хотя оно не будет автоматически преобразовывать другие буквы в строчные, как это обычно делает администратор для моделирования).имена.) Однако, делая первую букву подробного имени пробелом, это работает.Обратите внимание, поскольку имя находится в таблице html (которая игнорирует пробел перед первым / последним символом), пробел в подробном названии модели не замечается пользователем.

РЕДАКТИРОВАТЬ 2: Или чтобы избежать использования заглавных букв в полеимя (извините - не внимательно прочитал вопрос).

class AnAverageModel(models.Model):
     mean = models.FloatField(u" \u03BC")
...