【发布时间】:2019-03-17 22:19:30
【问题描述】:
在 Django 内置管理站点中,如何在 Change List 页面和 Change Form 页面中将进度条显示为字段?
【问题讨论】:
标签: python html django-admin
在 Django 内置管理站点中,如何在 Change List 页面和 Change Form 页面中将进度条显示为字段?
【问题讨论】:
标签: python html django-admin
例如:
percentage_paid 以计算结果并呈现 HTML 元素。# models.py
class SomeModel(models.Model):
....
def percentage_paid(self):
if self.paid_amount and self.final_price:
percentage = round((self.paid_amount / self.final_price * 100), 2)
else:
percentage = 0
return format_html(
'''
<progress value="{0}" max="100"></progress>
<span style="font-weight:bold">{0}%</span>
''',
percentage
)
'percentage_paid'添加到readonly_filds
list_display,如果希望在更改表单页面中显示,请将其添加到fields。我将其添加到 fieldsets 以自定义我的变更表单。# admin.py
class CaseAdmin(CommonInfoAdmin):
fieldsets = CommonInfoAdmin.fieldsets + (
('Sales Summary', {
'fields': (
....
('final_price', 'paid_amount', 'balance', 'percentage_paid'),
....
)
}),
)
readonly_fields = [
....
'percentage_paid',
]
list_display = (
....
'percentage_paid'
)
结果:
【讨论】: