Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:hypathie:tutos:developpement-pyhon-utiliser-django [03/12/2015 17:47] Hypathie [Mise en place d'un environnement minimal pour utiliser Django] |
utilisateurs:hypathie:tutos:developpement-pyhon-utiliser-django [04/12/2015 10:40] Hypathie [Mise en place d'un environnement minimal pour utiliser Django] |
||
---|---|---|---|
Ligne 222: | Ligne 222: | ||
wheel==0.24.0 | wheel==0.24.0 | ||
</code> | </code> | ||
+ | |||
+ | * **Manuel officiel de pip** : https://pip.pypa.io/en/stable/user_guide/ | ||
</note> | </note> | ||
Ligne 427: | Ligne 429: | ||
<note tip> | <note tip> | ||
- | Le fichier de base de données SQLite3 a été créé a la racine : "db.sqlite3". | ||
- | * À savoir : | + | L'exécution de la commande "manage.py migrate" a permis : |
- | La commande : | + | * de créer à la racine le fichier de base de données nommé par défaut "db.sqlite3"; |
+ | * elle a ajouté au fichier "settings.py " dans la section "INSTALLED_APPS" la ligne : 'polls', | ||
+ | <code retour> | ||
+ | INSTALLED_APPS = ( | ||
+ | 'django.contrib.admin', | ||
+ | 'django.contrib.auth', | ||
+ | 'django.contrib.contenttypes', | ||
+ | 'django.contrib.sessions', | ||
+ | 'django.contrib.messages', | ||
+ | 'django.contrib.staticfiles', | ||
+ | 'polls', | ||
+ | ) | ||
+ | </code> | ||
+ | |||
+ | * À savoir : La commande "makemigrations" permet de mettre à jour les polls. | ||
<code user>python3 manage.py makemigrations</code> | <code user>python3 manage.py makemigrations</code> | ||
<code retour>No changes detected</code> | <code retour>No changes detected</code> | ||
- | permet de recharger les modifications. | + | **Mais si l'on a crée des modèles, par exemple dans le répertoire "~/Bureau/PremiersProjetsDjango/premierProjet" :** |
+ | |||
+ | <code user>python3 manage.py startapp polls</code> | ||
+ | <code user>vim polls/models.py</code> | ||
+ | <code> | ||
+ | from django.db import models | ||
+ | |||
+ | |||
+ | class Question(models.Model): | ||
+ | question_text = models.CharField(max_length=200) | ||
+ | pub_date = models.DateTimeField('date published') | ||
+ | |||
+ | |||
+ | class Choice(models.Model): | ||
+ | question = models.ForeignKey(Question) | ||
+ | choice_text = models.CharField(max_length=200) | ||
+ | votes = models.IntegerField(default=0) | ||
+ | |||
+ | </code> | ||
+ | ** | ||
+ | alors la commande "makemigrations" ci-dessous, va créer un script de type SQL de creation et/ou mise à jour de la base de données associées au projet, par défaut ce script est le fichier "polls/migrations/0001_initial.py" :** | ||
+ | |||
+ | <code user>python3 manage.py makemigrations polls</code> | ||
+ | |||
+ | <code>Migrations for 'polls': | ||
+ | 0001_initial.py: | ||
+ | - Create model Choice | ||
+ | - Create model Question | ||
+ | - Add field question to choice</code> | ||
+ | |||
+ | |||
+ | |||
+ | * L'ORM de Django permet de générer un script de création de base de données avec tables, noms et types des champs, clés primaires et cardinalités pour voir le script créé à partir des Modèles python (classe): | ||
+ | |||
+ | <code user>python3 manage.py sqlmigrate polls 0001</code> | ||
+ | |||
+ | * Mais c'est la commande suivante qui applique les changements apportés aux Models dans la base de données : | ||
+ | <code user>python3 manage.py migrate</code> | ||
+ | |||
+ | * Il est ensuite possible d'interroger la base de donnée depuis le shell en utilisant les méthodes du Modèle | ||
+ | * Sur "migrate" : https://docs.djangoproject.com/fr/1.8/intro/tutorial01/#database-setup | ||
+ | * Sur "manage.py" : https://docs.djangoproject.com/fr/1.8/ref/django-admin/ | ||
+ | * Explication sur ORM : http://apprendre-python.com/page-django-orm-apprendre-base-donnees-database-queryset-modeles | ||
+ | * Explication sur API : http://sametmax.com/quest-ce-quune-api/ | ||
+ | |||
+ | **Pour utiliser l'API Django depuis un shell python :** | ||
+ | |||
+ | <code user>python3 manage.py shell</code> | ||
+ | * Pour s'exercer : https://docs.djangoproject.com/fr/1.8/intro/tutorial01/#playing-with-the-api | ||
</note> | </note> |