brs*_*gic 10 django django-admin
我尝试在Django的admin端列表显示中显示带有换行符的文本.
class MyModelAdmin(admin.ModelAdmin):
list_display = ('example')
def example(self,obj):
return 'TYPE : %s \n RATE : %s \n FAMILY %s'
Run Code Online (Sandbox Code Playgroud)
但是,它显示没有新行,如TYPE : xxx RATE : yyy FAMILY zzz.
我怎么能在Django管理员中这样做?
Ofr*_*viv 29
您必须使用br而不是a \n,并指定允许此字段使用html标记:
def example(self):
return 'TYPE : %s<br>RATE : %s<br>FAMILY %s' % (self.type,
self.rate,
self.family)
example.allow_tags = True
Run Code Online (Sandbox Code Playgroud)
或者你可以使用一些更优雅的HTML方式来格式化你的输出(比如用一个类包装每个在span元素中,然后添加一些css然后在下面渲染).
在 Django 2/3 中,您应该使用format_html, 因为allow_tags已被弃用。因此,示例代码变为:
from django.utils.html import format_html
class MyModelAdmin(admin.ModelAdmin):
list_display = ('example',)
def example(self, obj):
return format_html('TYPE : %s<br />RATE : %s<br />FAMILY %s' % (
self.type, self.rate, self.family))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3304 次 |
| 最近记录: |