Django / python validieren JSON

Was ist der beste Weg, um JSON-Daten in Django / Python zu validieren.

Ist es am besten, ein paar Klassen wie die Django FormMixin Klassen zu erstellen, die die Daten / Parameter, die übergeben werden, validieren können?

Was ist die beste TROCKNEN, dies zu tun? Gibt es vorhandene Apps, die ich nutzen kann?

Ich möchte in JSON-Daten nehmen und einige Aktionen / Updates zu meinen Modellinstanzen als Ergebnis durchführen. Die Daten, die ich nehme, ist nicht vom Benutzer generiert – das sind sie sind id's und Flags (kein Text), also möchte ich keine Formulare verwenden.

3 Solutions collect form web for “Django / python validieren JSON”

Ich instanziere nur ein Modellobjekt aus den Json-Daten und rufe full_clean () auf das Modell an, um zu validieren: https://docs.djangoproject.com/de/dev/ref/models/instances/#django.db.models.Model. Full_clean

m = myModel(**jsondata) m.full_clean() 

Validictory validiert json zu einem json-schema. Es klappt. Natürlich müssen Sie jetzt Ihr Schema in json definieren, was ein wenig viel für das sein kann, was Sie tun möchten, aber es hat seinen Platz.

Ich würde eine Python-Bibliothek namens DictShield für diese https://github.com/j2labs/dictshield empfehlen

DictShield ist ein datenbank-agnostisches Modellierungssystem. Es bietet eine Möglichkeit, Daten zu modellieren, zu validieren und neu zu verarbeiten.

Es gibt sogar ein Beispiel für die JSON-Validierung:

Validierung der Benutzereingabe

Angenommen, wir bekommen diese JSON-String von einem Benutzer.

{"Bio": "Python, Erlang und Gitarren!", "Geheimnis": "e8b5d682452313a6142c10b045a9a135", "name": "J2D2"}

Wir könnten einen Servercode schreiben, der so aussieht:

 json_string = request.get_arg('data') user_input = json.loads(json_string) user.validate(**user_input) 
  • So erstellen Sie Password Field im Modell django
  • Wie man <div> tag anstelle von <li> hinzufügt
  • Django - wie kann ich eine Zelle in einer Tabelle in der admin * changelist * Schnittstelle bearbeitbar nur, wenn es null ist?
  • Django admin viele zu viele Teilmenge
  • Bearbeiten des Modells ForeignKey als Inline in der Django-Administration?
  • Kann ich ein Django-Formular ohne Modell haben
  • Python ist die beste Programmiersprache der Welt.