gpt4 book ai didi

django - 如何更改 Django 管理中特定字段类型的呈现?

转载 作者:行者123 更新时间:2023-12-02 00:32:14 25 4
gpt4 key购买 nike

例如,我有一个 IntegerField,我想更改它在整个 Django 管理中的显示方式。

我考虑过对其进行子类化并覆盖 __str____unicode__ 方法,但它无法正常工作。

class Duration(models.IntegerField):
def __unicode__(self):
return "x" + str(datetime.timedelta(0, self))
def __str__(self):
return "y" + str(datetime.timedelta(0, self))

更新:我只想更改字段显示的方式,而不是编辑控件(小部件)

最佳答案

我不确定您想对该字段做什么,但是如果您想更改显示的 HTML,您需要更改表单字段正在使用的小部件,或者创建您自己的自定义小部件:

https://docs.djangoproject.com/en/dev/ref/forms/widgets/

模型.py

class LovelyModel(models.Model):
my_int = models.IntegerField()

表单.py

from widgets import WhateverWidgetIWant

class LovelyModelForm(forms.ModelForm):
my_int = models.IntegerField(widget=WhateverWidgetIWant())

class Meta:
model = LovelyModel

admin.py

from forms import LovelyModelForm

class LovelyModelAdmin(admin.ModelAdmin):
form = LovelyModelForm

你想做什么?

关于django - 如何更改 Django 管理中特定字段类型的呈现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6286319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com