Django Admin:改变数据的显示方式

Posted

技术标签:

【中文标题】Django Admin:改变数据的显示方式【英文标题】:Django Admin: Alter how data is displayed 【发布时间】:2011-04-01 03:21:12 【问题描述】:

我有一个带有 json 字段的模型。其内容可能打印也可能不打印,只要数据有效,我真的不介意任何一种方式。但是,当它显示在 django admin 中时,我希望该字段的内容可以打印得非常漂亮,以便于阅读。我不介意这是否意味着漂亮的打印版本会被保存。

关于如何做到这一点的任何提示?

【问题讨论】:

【参考方案1】:

回答我自己的问题...

在阅读了 Matthew J Morrison 向我指出的附近的文档之后。我发现我可以添加一个 javascript 来改变一些东西。

我添加到我的 ModelAdmin

class Media:
    js = ("/site_media/json2.js", "/site_media/custom.js")

json2.js 来自Douglas Crockford's website

custom.js 是

django.jQuery(document).ready(function() 
    data = JSON.parse(django.jQuery("#id_json")[0].value);
    django.jQuery("#id_json")[0].value = JSON.stringify(data, null, 4)
);

当你知道怎么做时很容易。

【讨论】:

或者,我建议您尝试类似 Codemirror (codemirror.net) 之类的东西,还有更多 我认为我不需要对此使用 codemirror,因为希望 JSON 永远不会很大,但它肯定是一件非常有用的事情。谢谢。【参考方案2】:

也许创建一个自定义小部件...

http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.formfield_overrides

【讨论】:

客户小部件将替换我认为的所有文本区域。我希望我能给半分,因为它为我指明了正确的方向。 @StephenPaulger 您可以奖励积分但不接受作为答案,这就是积分的用途。

以上是关于Django Admin:改变数据的显示方式的主要内容,如果未能解决你的问题,请参考以下文章

请教朋友们,django如何动态改变ImageField,FileField的upload_to?...

Django实践2——图书馆系统

ADMIN_MEDIA_PREFIX 弃用和在 Django 1.4 中使用静态文件

简单更改Django Admin登录页面

只读模型并在django admin中显示为列表?

django方式如何改变每个页面的背景图片和内容