заполнить JSON HTML с шаблоном Django - PullRequest
3 голосов
/ 11 февраля 2012

Для лучшей отладки моего API, я хотел бы создать страницу отладки, которая построчно отображает все детали ответа json obj. Я думаю, что это можно сделать с помощью кода или шаблона Django. Какой самый простой способ сделать это?

https://developers.facebook.com/tools/explorer/?method=GET Например, facebook explorer перечисляет детали ответа json obj следующим образом.

{
  "id": "xxx", 
  "name": "xxx", 
  "first_name": "xxx", 
  "last_name": "xxx", 
  "link": "xxx", 
  "username": "xxx", 
  "hometown": {
    "id": "xxx", 
    "name": "xxx"
  }, 
  "location": {
    "id": "xxx", 
    "name": "xxx"
  }, 
  "bio": "Drink Coffee in Whitehorse", 

  "work": [
    {
      "employer": {
        "id": "xxx", 
        "name": "xxx"
      }, 
      "location": {
        "id": "xxx", 
        "name": "xxx"
      }, 
      "position": {
        "id": "xxx", 
        "name": "xxx"
      }, 
      "start_date": "2009-01", 
      "end_date": "0000-00"
    }, 
}

Ответы [ 2 ]

8 голосов
/ 11 февраля 2012

Вам просто нужно вызвать json.dumps() с аргументом ключевого слова indent, равным количеству пробелов для отступа сгенерированного JSON для красивой печати. ​​

Например:

json.dumps(spam_and_eggs, indent=4)
2 голосов
/ 29 августа 2017

Могу ли я предложить использовать в вашем HTML, чтобы ваш json выглядел симпатично.

import json
from django.contrib.admin.views.decorators import staff_member_required
from django.shortcuts import render
from .models import Scan

    @staff_member_required
    def info(request):
        my_info = Scan.scan()
        return render(request, 'info.html', {'info': json.dumps(my_info, indent=4)})

HTML:

<code><!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <pre>{{ info|safe }}
...