Джанго / Python проверить JSON - PullRequest
4 голосов
/ 23 января 2012

Каков наилучший способ проверки данных JSON в Django / python.

Лучше ли создать группу классов, таких как классы Django FormMixin, которые могут проверять данные / параметры, передаваемые в?

Какой самый лучший СУХОЙ способ сделать это?Существуют ли приложения, которые я могу использовать?

Я хотел бы получить данные JSON и в результате выполнить некоторые действия / обновления для экземпляров моей модели.Данные, которые я принимаю, не генерируются пользователем - это идентификаторы и флаги (без текста), поэтому я не хочу использовать формы.

Ответы [ 3 ]

7 голосов
/ 23 января 2012

Я просто создаю экземпляр объекта модели из данных json и вызываю full_clean () для проверки модели: https://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.full_clean

m = myModel(**jsondata)
m.full_clean()
4 голосов
/ 23 января 2012

validictory проверяет json на json-схему. Оно работает. Конечно, теперь вам нужно определить свою схему в json, что может быть немного большим для того, что вы хотите сделать, но оно имеет свое место.

1 голос
/ 23 января 2012

Я бы порекомендовал для этого библиотеку Python с именем DictShield https://github.com/j2labs/dictshield

DictShield - это система моделирования, независимая от базы данных. Он позволяет легко моделировать, проверять и изменять данные.

Существует даже пример для проверки JSON:

Проверка ввода пользователя

Допустим, мы получаем эту строку JSON от пользователя.

{"bio": "Python, Erlang и гитары!", "Secret": "e8b5d682452313a6142c10b045a9a135", "name": "J2D2"}

Мы могли бы написать некоторый код сервера, который выглядит следующим образом:

json_string = request.get_arg('data')
user_input = json.loads(json_string)
user.validate(**user_input)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...