J'essaie de suivre le didacticiel Django
et j'ai rencontré l'erreur suivante lorsque je saisis python manage.py makemigrations polls
Unknown command: 'makemigrations'
Voici le link vers le didacticiel et j'ai accompli toutes les étapes précédentes avec succès et je ne suis pas sûr de ce qui ne va pas maintenant ou de la façon de le réparer.
INSTALLED_APPS = (
'Django.contrib.admin',
'Django.contrib.auth',
'Django.contrib.contenttypes',
'Django.contrib.sessions',
'Django.contrib.messages',
'Django.contrib.staticfiles',
'polls',
'South',
)
Réponse: j'ai dû modifier INSTALLED_APPS en:
INSTALLED_APPS = (
'Django.contrib.admin',
'Django.contrib.auth',
'Django.contrib.contenttypes',
'Django.contrib.sessions',
'Django.contrib.messages',
'Django.contrib.staticfiles',
'polls',
)
et aussi utilisé cette commande: python manage.py syncdb
Les migrations ont été ajoutées pour la première fois à la version 1.7, publiée officiellement le 2 septembre 2014. Vous devez vous assurer que votre tutoriel correspond à la version de Django avec laquelle vous travaillez. Par exemple, cette version du tutoriel couvre la version 1.9:
https://docs.djangoproject.com/fr/1.9/intro/tutorial01/
Ou, si vous utilisez une version plus ancienne de Django, vous pouvez remplacer le "1.9" de cette URL par la version de votre choix (retour à la version 1.3). Ou utilisez le menu déroulant de la page de documentation pour choisir la version et recherchez "tutoriel".
Découvrez quelle version de Django vous utilisez ( merci @BradyEmerso n):
python -c "import Django; print(Django.get_version())"
Si plus vieux que 1.8:
pip install --upgrade Django
Dans Django, Makemigration a été ajouté après la version 1.7. Par conséquent, si vous utilisez une ancienne version de Django, vous devez modifier settings.py et ajouter votre application dans l'application installée, comme
INSTALLED_APPS = (
'Demo',
'Django.contrib.admin',
'Django.contrib.auth',
'Django.contrib.contenttypes',
'Django.contrib.sessions',
'Django.contrib.messages',
'Django.contrib.staticfiles',
)
et alors vous pouvez exécuter la commande
python manage.py syncdb
J'utilisais la version 1.9 et j'obtiens toujours cette erreur. J'avais des migrations non appliquées et c'était la cause première dans mon cas. J'ai lancé 'python manage.py migrate
' pour les appliquer et cela a fonctionné pour moi.
Vous devez charger l'environnement virtuel avant de le faire.
Utilisez le code ci-dessous pour Linux/OSX:
source venv/bin/active
Et le code suivant pour Windows
source venv/Scripts/activate
Pour la première fois, j'ajoute le morceau de code suivant dans le fichier nom_projet\settings.py.
`INSTALLED_APPS = [
'Django.contrib.admin',
'Django.contrib.auth',
'Django.contrib.contenttypes',
'Django.contrib.sessions',
'Django.contrib.messages',
'Django.contrib.staticfiles',
#Django REST Framework
'rest_framework',
#Games application
'games.apps.GamesConfig',
]`
Après l'avoir sauvegardé, quand j'ai exécuté le code suivant, j'ai eu une erreur.
`python manage.py makemigrations games`
Ensuite, je vérifie le fichier settings.py. Je réalise qu’il ya deux INSTALLED_APPS et que le second n’a pas de suite. Quand j'ai ajouté ces derniers le code a fonctionné.
`#Django REST Framework
'rest_framework',
#Games application
'games.apps.GamesConfig',`
J'ai suivi la procédure suivante (pour Python version 3.6.4) pour résoudre ce problème:
À votre santé