2017-09-17 1 views
-1

ich diese Störung erhalte ...wie django.conf.settings serialisiert JSon

Objekt vom Typ 'Einstellungen' ist nicht JSON serializable

Hier mein Code

from django.conf import settings 
import json 
def get_settings(request): 
    responce = settings.__dict__ 
    return HttpResponse(json.dumps(responce),content_type='application/json') 
+0

Sie könnten [JsonPickle] (http://jsonpickle.github.io/) versuchen. Es ist gut beim Serialisieren komplexer Objekte. – Nrzonline

+0

Warum möchten Sie das tun? Ihre Einstellungen sind intern in Ihrer App und enthalten neben allem anderen den geheimen Schlüssel, der * niemals * aufgedeckt werden sollte. –

+0

Ich stimme völlig zu, aber ich möchte zur Laufzeit Vorlagenpfad oder einige andere Einstellungsvariablen debuggen. –

Antwort

2

ist django.conf.settings ist nicht JS Serializable, dachte, Sie können gehen und erstellen dict() dann geben Sie es an HttpResponse. Ich hoffe es hilft!

import json 
from django.http import HttpResponse 
from django.conf import settings 


def get_settings(request): 
    context = {} 
    for setting in dir(settings): 
     if setting.isupper(): 
      context[setting] = getattr(settings, setting) 

    return HttpResponse(json.dumps(context, indent=4), content_type="application/json") 
Verwandte Themen