Conseils et astuces
Astuce #1 : problème en lien avec les flatpages
Lors de tests ou d’une migration, il est possible d’avoir une erreur de ce type :
django.db.migrations.exceptions.NodeNotFoundError: Migration main.0001_initial dependencies reference nonexistent parent node ('flatpages', '0001_initial')
Il faut savoir que la gestion des pages statiques se réalise via une application Django flatpages. Cette application n’étant pas spécifique à Esup-Pod, son répertoire d’installation est situé directement dans l’environnement virtuel. Typiquement, selon votre version de Python et votre environnement virtuel, il s’agit de :
/home/pod/.virtualenvs/django_pod4/lib/python3.11/site-packages/django/contrib/flatpages
Cas 1 : problème lors de la création initiale de la base de données
Si vous lanciez la commande suivante plusieurs fois, en supprimant les données de la base, via :
(django_pod4) pod@pod:~/django_projects/podv4$ make createDB
Cela ne devrait plus arriver car, depuis Esup-Pod v4, make createDB exécute maintenant la commande suivante permettant de supprimer les fichiers de migration des flatpages, en plus des applications de Pod :
(django_pod4) pod@pod:~/django_projects/podv4$ python manage.py delete_flatpages_migrations.py
⚠️ Attention à ne lancer cette commande qu’en connaissance de cause.
Cas 2 : problème lors de lancement de tests unitaires
Si vous développez Esup-Pod et que vous obtenez cette erreur lors de tests unitaires, via par exemple :
(django_pod4) pod@pod:~/django_projects/podv4$ python manage.py test pod.video.tests --settings=pod.main.test_settings
Cela vient vraisemblablement de la configuration du paramètre USE_DOCKER.
Si vous êtes dans un environnement non conteneurisé, veuillez mettre dans votre settings_local.py :
USE_DOCKER = false
Astuce #2 : problème avec django-chunked-upload
Si vous rencontrez un problème avec l’application django-chunked-upload, il ne faut pas hésiter à lancer les commandes suivantes
(django_pod4) pod@pod:~/django_projects/podv4$ pip uninstall django-chunked-upload
(django_pod4) pod@pod:~/django_projects/podv4$ pip install -r requirements.txt
Astuce #3 : problème avec django-shibboleth-remoteuser
Si vous rencontrez un problème avec l’application django-shibboleth-remoteuser, il ne faut pas hésiter à lancer les commandes suivantes
(django_pod4) pod@pod:~/django_projects/podv4$ pip uninstall django-shibboleth-remoteuser
(django_pod4) pod@pod:~/django_projects/podv4$ pip install -r requirements.txt