Je souhaite créer un fichier de fixation dans mon projet Django.
Comment faire ?
Je souhaite créer un fichier de fixation dans mon projet Django.
Comment faire ?
Lire " Fournir des données initiales pour les modèles ".
manage.py dumpdata
pour transférer les données dans un fichier JSON. Lire " django-admin.py et manage.py ".Vous devez créer un répertoire dans votre application nommé fixtures et y placer vos fichiers de fixtures.
Vous pouvez les écrire en json ou en xml, une façon simple de les créer est de créer quelques objets dans l'interface d'administration et de lancer ensuite manage.py dumpdata. Cela videra les données des objets que vous avez créés dans des fichiers de fixation. Ensuite, vous pouvez simplement éditer ces fichiers pour les adapter à vos besoins.
https://docs.djangoproject.com/en/1.7/ref/django-admin/#dumpdata-app-label-app-label-app-label-model
Si vous voulez charger les fixtures, utilisez manage.py loaddata.
https://docs.djangoproject.com/en/1.7/ref/django-admin/#loaddata-fixture-fixture
Vous pouvez avoir des fixtures avec des données initiales qui seront automatiquement chargées lorsque vous lancez syncdb, il suffit de créer un fichier nommé initial_data et Django le reconnaîtra.
Pour utiliser les fixtures à des fins de test, vous devez les déclarer dans votre classe de test
https://docs.djangoproject.com/en/1.7/topics/testing/tools/#fixture-loading
J'ai atterri ici en cherchant comment faire des fixations. J'ai trouvé que l'article suivant était le plus facile.
https://code.djangoproject.com/wiki/Fixtures
Ajouter le FIXTURE_DIRS
le chemin d'accès à la page d'accueil de votre application settings.py
.
import os
PROJECT_DIR = os.path.abspath(os.path.dirname(__file__))
FIXTURE_DIRS = (
os.path.join(PROJECT_DIR, 'fixtures'),
)
Déposez maintenant votre myapp
dans un fichier JSON.
python manage.py dumpdata --format=json myapp > myapp/fixtures/initial_data.json
Voilà, il est temps de tester. Chute myapp
tables...
./manage.py sqlclear myapp | ./manage.py dbshell
Maintenant, rechargez les fixtures...
./manage.py syncdb
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.