Django admin顯示json字段方法詳解
默認(rèn)的 json 顯示
如圖所示,如果 Django 模型中含有 json 字段, 在 admin 后臺(tái)默認(rèn)的顯示非?;靵y,不利于數(shù)據(jù)維護(hù)。 那么有什么好的方式呢?

這里給出一個(gè)不依賴于第三方庫(kù)的處理方法。思路是,用自定義 JSON widget 代替 admin 默認(rèn)的 text_input.
定義 widget 類如下
import json
from django.contrib import admin
from django.db.models import JSONField
from django.forms import widgets
class PrettyJSONWidget(widgets.Textarea):
def format_value(self, value):
try:
value = json.dumps(json.loads(value), indent=2, sort_keys=True)
row_lengths = [len(r) for r in value.split('\n')]
self.attrs['rows'] = min(max(len(row_lengths) + 2, 10), 30)
self.attrs['cols'] = min(max(max(row_lengths) + 2, 40), 120)
return value
except Exception as e:
return super(PrettyJSONWidget, self).format_value(value)
使用 widget 的方式:我們繼承 admin.ModelAdmin,并且覆蓋 JSONField 的 widget:
class JsonAdmin(admin.ModelAdmin):
formfield_overrides = {
JSONField: {'widget': PrettyJSONWidget}
}
admin.site.register(MyModel, JsonAdmin)
優(yōu)化之后的 json 顯示
配置后,json 字段的顯示

可以看出, 此時(shí)的 json 字段更加利于閱讀和修改。
以上就是Django admin顯示json字段方法詳解的詳細(xì)內(nèi)容,更多關(guān)于Django admin顯示json的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
如何使用Python處理HDF格式數(shù)據(jù)及可視化問題
這篇文章主要介紹了如何使用Python處理HDF格式數(shù)據(jù)及可視化問題,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
Python安全傳參給C函數(shù)的4種類型轉(zhuǎn)換方法詳解
這篇文章主要來帶大家掌握Python調(diào)用C函數(shù)的安全傳參技巧,被將詳解C語(yǔ)言Python類型轉(zhuǎn)換的4種核心方法,涵蓋字符串、數(shù)值與指針轉(zhuǎn)換場(chǎng)景,確保數(shù)據(jù)安全高效交互,感興趣的小伙伴可以了解下2026-01-01
使用Python和OpenCV實(shí)現(xiàn)實(shí)時(shí)文檔掃描與矯正系統(tǒng)
在日常工作和學(xué)習(xí)中,我們經(jīng)常需要將紙質(zhì)文檔數(shù)字化,手動(dòng)拍攝文檔照片常常會(huì)出現(xiàn)角度傾斜、透?視變形等問題,影響后續(xù)使用,本文將介紹如何使用Python和OpenCV構(gòu)建一個(gè)實(shí)時(shí)文檔掃描與矯正系統(tǒng),能夠通過攝像頭自動(dòng)檢測(cè)文檔邊緣并進(jìn)行透?視變換矯正,需要的朋友可以參考下2025-05-05
python如何發(fā)送xml格式請(qǐng)求數(shù)據(jù)
這篇文章主要介紹了python如何發(fā)送xml格式請(qǐng)求數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
PyQt5?QLineEdit校驗(yàn)器限制輸入實(shí)例代碼
QLineEdit類是一個(gè)單行文本控件,可輸入單行字符串,可以設(shè)置回顯模式(Echomode)和掩碼模式,下面這篇文章主要給大家介紹了關(guān)于PyQt5?QLineEdit校驗(yàn)器限制輸入的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
python如何實(shí)現(xiàn)多層級(jí)自動(dòng)賦值字典
這篇文章主要介紹了python如何實(shí)現(xiàn)多層級(jí)自動(dòng)賦值字典問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08

