Django JSON генерация светильников - PullRequest
3 голосов
/ 07 января 2010

Я новичок в Django, пришедшем из Rails, и нахожу светильники Django (чаще всего JSON из того, что я собираю) несколько неловкими и неудобными, по крайней мере, по сравнению с приборами, которые мне знакомы , Мне понравилось иметь возможность вставлять некоторый код ruby, например <%= Time.now %>, или ссылаться на другие приборы по имени при связывании вещей с внешними ключами (чтобы избежать необходимости отслеживать идентификаторы).

Итак, вопрос в том, как вы, опытные разработчики Django, создаете ваши приборы. Вы сидите и пишете JSON / XML / YAML вручную, или есть другие инструменты, которые могут помочь, аналогичные тем, что дает мне rails? Или проще всего создать некоторые данные в оболочке ./manage.py и вывести эти данные в прибор, а не записывать данные вручную? Или даже все еще, вы находите себя помещающими много данных в ваш метод setUp (self) в ваших тестовых классах. Может быть, написание этих вещей менее утомительно, если у вас есть немного больше опыта?

Ответы [ 3 ]

2 голосов
/ 07 января 2010

Сайт администратора Django отлично подходит для быстрого ввода фиктивных или исходных данных. Затем вы можете записать это в файл JSON (или любой другой формат).

http://docs.djangoproject.com/en/dev/ref/django-admin/#dumpdata-appname-appname-appname-model

django-admin.py dumpdata | pbcopy сбросит все данные в формате json в буфер обмена.

Будьте осторожны с дампом типов содержимого и таблиц аутентификации, так как это может вызвать проблемы при загрузке устройства обратно в базу данных.

1 голос
/ 15 июня 2010

Выезд Джанго-Дилла . Он генерирует случайные данные для ваших моделей, даже изображения. Полезно для тестирования без утомительного ручного ввода данных в админ.

0 голосов
/ 03 марта 2014

Простой дамп данных всех данных в проекте к Json устройству

python manage.py dumpdata --format=json myapp > /path/to/myapp/fixtures/initial_data.json

Затем в tests.py добавьте это, чтобы включить приборы:

class ViewTests(TestCase):

    # load fixtures
    fixtures = ['data2.json']

        def setUp(self):
        # continue remainder of test code
...