Администратор Django list_display newline - PullRequest
10 голосов
/ 14 октября 2011

Я пытаюсь отобразить текст с символами новой строки в отображении списка на административной стороне Django.

class MyModelAdmin(admin.ModelAdmin):
    list_display = ('example')

def example(self,obj):
    return 'TYPE : %s \n RATE : %s \n FAMILY %s'

Тем не менее, он отображается без перевода строки, например TYPE : xxx RATE : yyy FAMILY zzz.

Как мне это сделать в админке Django?

1 Ответ

28 голосов
/ 14 октября 2011

Вы должны использовать br вместо \n и указать, что в этом поле разрешено использовать html-теги:

def example(self):
    return 'TYPE : %s<br>RATE : %s<br>FAMILY %s' % (self.type, 
                                                    self.rate, 
                                                    self.family)
example.allow_tags = True

Или вы можете использовать более элегантный способ форматирования HTML для вывода (например, обернуть каждый элемент в элемент span определенным классом и добавить несколько css, чтобы сделать, а затем отобразить их ниже друг друга).

...