Python 在Django上显示/隐藏字段的方法
我在Django admin中将此作为我的列表显示Python 在Django上显示/隐藏字段的方法,python,django,Python,Django,我在Django admin中将此作为我的列表显示 list_display = ('product', 'price', 'purchase_date', 'confirmed', 'get_po_number', 'notes') 在models.py中: class PurchaseOrder(models.Model): notes = models.TextField( null=True, blank= True) 这就是它在这里的样子: [1] :' 正如您所看到的,
list_display = ('product', 'price', 'purchase_date', 'confirmed', 'get_po_number', 'notes')
在models.py中:
class PurchaseOrder(models.Model):
notes = models.TextField( null=True, blank= True)
这就是它在这里的样子:
[1] :'
正如您所看到的,“注释”可能会占用大量空间,因此,有没有一种方法可以通过单击按钮查看/隐藏该字段?您可以调整字段大小,使其变小,而无需执行按钮
class PurchaseAdmin(admin.ModelAdmin):
formfield_overrides = {
models.CharField: {'widget': TextInput(attrs={'size':'20'})},
models.TextField: {'widget': Textarea(attrs={'rows':4, 'cols':40})},
}
admin.site.register(PurchaseOrder, PurchaseAdmin)
如果您确实希望有另一个按钮,可以使用自定义内联类定义字段:
class CustomInline(admin.TabularInline):
readonly_fields = [...'link',...]
# important part which define what "link" looks like
def link(self, instance):
url = # your link to display the note
return mark_safe(u'<a href="{u}">View Note</a>".format(u=url))
或者,您可以在
list\u display
中将特定宽度设置为notes
,检查我是否欣赏注释,但是否有一种显示/隐藏字段的简单方法?是的-覆盖模板,并添加JQuery以切换特定列的隐藏。甚至不需要覆盖模板。应该有办法。
class PurchaseAdmin(admin.ModelAdmin):
inlines = [CustomInline]