C.K*_*.K. 1 html python django-admin
在 Django 内置管理站点中,如何在“更改列表”页面和“更改表单”页面中将进度条显示为字段?
C.K*_*.K. 11
例如:
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
)
Run Code Online (Sandbox Code Playgroud)
'percentage_paid'到readonly_fildslist_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'
)
Run Code Online (Sandbox Code Playgroud)
结果:
| 归档时间: |
|
| 查看次数: |
1516 次 |
| 最近记录: |