logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 [15/12/2015 07:48]
Hypathie [Créer des projets Django en python2 ou python3]
utilisateurs:hypathie:tutos:developpement-pyhon-utiliser-django [16/12/2015 07:19]
Hypathie [Installations]
Ligne 66: Ligne 66:
 <code root>​apt-get install tree</​code>​ <code root>​apt-get install tree</​code>​
  
-===Vim IDE coder pour python3 ===+===Vim IDE pour coder pour python3 ===
  
   * https://​debian-facile.org/​utilisateurs:​hypathie:​tutos:​vim-ide-python?&#​installer-vim-ide-pour-python   * https://​debian-facile.org/​utilisateurs:​hypathie:​tutos:​vim-ide-python?&#​installer-vim-ide-pour-python
Ligne 74: Ligne 74:
 ===== Créer des projets Django en python2 ou python3===== ===== Créer des projets Django en python2 ou python3=====
  
-===Les versions de python sur sa Jessie ===+===Les versions de python sur sa Jessie===
  
 <code user> ls /​usr/​bin/​python*</​code>​ <code user> ls /​usr/​bin/​python*</​code>​
Ligne 84: Ligne 84:
 /​usr/​bin/​python2-config ​   /​usr/​bin/​python3.4m-config /​usr/​bin/​python2-config ​   /​usr/​bin/​python3.4m-config
 </​code>​ </​code>​
 +
 +===Problème avec python pour utiliser virtualenv===
  
 <note tip> <note tip>
Ligne 282: Ligne 284:
  
 <code user>​pyenv activate 1.8-3.4</​code>​ <code user>​pyenv activate 1.8-3.4</​code>​
 +Le prompt de terminal a changé, il devient quelque chose comme cela :
 +<​code>​(1.8-3.4) hypathie@debian:​~/​ProjetsDjangoPy3/​premierProjet$</​code>​
  
 </​note>​ </​note>​
Ligne 303: Ligne 307:
  
 <note tip> <note tip>
-  ​* Et voilà, partir de là, on retombe sur nos pattes  +**Et voilà, partir de là, on retombe sur nos pattes** \\   
-On peut suivre simplement le premier projet de la doc officielle de Django et les commandes qu'​elle indique alors que notre environnement virtuel est sous python 3 ! \\+ 
 +On peut suivre simplement le premier projet de la doc officielle de Django et les commandes qu'​elle indique alors que notre environnement virtuel est sous python 3 !  \\ https://​docs.djangoproject.com/​fr/​1.8/​intro/​tutorial01/​
  
   * A chaque fois que l'on veut reprendre l'​avancement de son projet   * A chaque fois que l'on veut reprendre l'​avancement de son projet
Ligne 311: Ligne 316:
 <code user>cd ~/​ProjetsDjangoPy3/​premierProjet/</​code>​ <code user>cd ~/​ProjetsDjangoPy3/​premierProjet/</​code>​
  
-  * On active pyenv+  * On active pyenv pour utiliser l'​interpréteur python
  
 <code user>​pyenv activate 1.8-3.4</​code> ​ <code user>​pyenv activate 1.8-3.4</​code> ​
- 
-  * On peut alors suivre les commandes indiquée par le site officiel de Django \\ https://​docs.djangoproject.com/​fr/​1.8/​intro/​tutorial01/​ 
  
   * Pour tester   * Pour tester
Ligne 325: Ligne 328:
 <code user>​python3 manage.py runserver</​code>​ <code user>​python3 manage.py runserver</​code>​
  
-  * On inscrit dans son navigateur ​on entre dans la barre url: "​http://​localhost:​8000/"​+  * On inscrit dans son navigateur ​l'url: "​http://​localhost:​8000/"​
  
 Et on obtient : Et on obtient :
  
 {{http://​pix.toile-libre.org/​upload/​img/​1449147148.png}}\\ {{http://​pix.toile-libre.org/​upload/​img/​1449147148.png}}\\
 +
 +  * Pour arrêter le serveur :
 +<code user>​ctrl+c</​code>​
 +
 +  * Pour sortir de l'​interpréteur python du shell pyenv
 +<code user>​pyenv deactivate</​code>​
  
 </​note>​ </​note>​
  
-====Un petit résumer ​====+=====Résumer des fichiers de configuration et commandes "​manage.py"​ =====
  
 ===Le fichier ''​settings.py''​ : pour associer une BDD au projet === ===Le fichier ''​settings.py''​ : pour associer une BDD au projet ===
Ligne 390: Ligne 399:
 </​code>​ </​code>​
  
-Cela permettra de générer des scripts de type sql correspondant aux entités de la base de données.+Comme ceci :
  
 <code retour> <code retour>
Ligne 403: Ligne 412:
 ) )
 </​code>​ </​code>​
 +  - Cela dit à Django de générer de fichier de scripts (en sql) correspondant aux entités de la base de données : \\ Voir le paragraphe https://​debian-facile.org/​utilisateurs:​hypathie:​tutos:​developpement-pyhon-utiliser-django?&#​la-commande-managepy-makemigrations
 +  - Cela dit à Django de créer une arborescence de fichiers pour créer des Modèles : \\ Voir le paragraphe création de modèle : https://​debian-facile.org/​utilisateurs:​hypathie:​tutos:​developpement-pyhon-utiliser-django#​le-fichier-modelspy-pour-coder-des-modeles
 +
 +===Commande manage.py startapp polls : créer les fichiers pour coder en python des Modèles===
 +
 +  * Toujours à la racine du projet Django pour utiliser manage.py
 +
 +<code user>cd ~/​ProjetsDjangoPy3/​premierProjet</​code>​
 +
 +  * Si on est sorti du shell pyenv
 +
 +<​code>​pyenv activate 1.8-3.4</​code>​
 +
 +<code user>​python manage.py startapp polls</​code>​
 +
 +<​note>​
 +
 +  * On remarque que l'​arborescence a changé :
 +
 +Cela a crée le répertoire polls à la racine du dossier consacré au projet django :
 +
 +<code user>​tree</​code>​
 +<​code>​
 +.
 +├── db.sqlite3
 +├── manage.py
 +├── polls
 +│   ​├── admin.py
 +│   ​├── apps.py
 +│   ​├── __init__.py
 +│   ​├── migrations
 +│   ​│ ​  ​├── 0001_initial.py
 +│   ​│ ​  ​├── __init__.py
 +│   ​│ ​  ​└── __pycache__
 +│   ​│ ​      ​├── 0001_initial.cpython-34.pyc
 +│   ​│ ​      ​└── __init__.cpython-34.pyc
 +│   ​├── models.py
 +│   ​├── __pycache__
 +│   ​│ ​  ​├── admin.cpython-34.pyc
 +│   ​│ ​  ​├── __init__.cpython-34.pyc
 +│   ​│ ​  ​└── models.cpython-34.pyc
 +│   ​├── tests.py
 +│   ​└── views.py
 +└── premierProjet
 +    ├── __init__.py
 +    ├── __pycache__
 +    │   ​├── __init__.cpython-34.pyc
 +    │   ​├── settings.cpython-34.pyc
 +    │   ​├── urls.cpython-34.pyc
 +    │   ​└── wsgi.cpython-34.pyc
 +    ├── settings.py
 +    ├── urls.py
 +    └── wsgi.py
 +</​code>​
 +
 +</​note>​
 +
 +
  
 ===Commande de création de Modèles : manage.py migrate=== ===Commande de création de Modèles : manage.py migrate===
Ligne 457: Ligne 524:
  
 <code user>cd ~/​ProjetsDjangoPy3/​premierProjet/</​code>​ <code user>cd ~/​ProjetsDjangoPy3/​premierProjet/</​code>​
 +<code user>​pyenv activate 1.8-3.4</​code>​
  
 <code user>​python manage.py makemigrations</​code>​ <code user>​python manage.py makemigrations</​code>​
 <code retour>​No changes detected</​code>​ <code retour>​No changes detected</​code>​
  
 +===Le fichier models.py pour coder des Modèles ===
  
 +C'est là qu'on code des Modèles en python :
  
- +<code user>cd ~/​ProjetsDjangoPy3/​premierProjet/ ​&& pyenv activate 1.8-3.4</​code>​
- +
- +
-====Création de Modèle==== +
- +
-C'est presque du code first ! LOL +
- +
-  * On se place dans le répertoire "​~/​ProjetsDjangoPy3/​premierProjet"​ : +
-<code user>cd ~/​ProjetsDjangoPy3/​premierProjet</code> +
- +
-  * On utilise manage.py pour créé l'​arborescence nécessaire à l'​utilisation de Modèle : +
- +
-<code user>​python manage.py startapp polls</​code>​ +
- +
-<​note>​ +
- +
-  * On remarque que l'​arborescence a changé : +
- +
-Cela a crée le répertoire polls à la racine du dossier consacré au projet django : +
- +
-<code user>​tree</​code>​ +
-<​code>​ +
-+
-├── db.sqlite3 +
-├── manage.py +
-├── polls +
-│   ​├── admin.py +
-│   ​├── apps.py +
-│   ​├── __init__.py +
-│   ​├── migrations +
-│   ​│ ​  ​├── 0001_initial.py +
-│   ​│ ​  ​├── __init__.py +
-│   ​│ ​  ​└── __pycache__ +
-│   ​│ ​      ​├── 0001_initial.cpython-34.pyc +
-│   ​│ ​      ​└── __init__.cpython-34.pyc +
-│   ​├── models.py +
-│   ​├── __pycache__ +
-│   ​│ ​  ​├── admin.cpython-34.pyc +
-│   ​│ ​  ​├── __init__.cpython-34.pyc +
-│   ​│ ​  ​└── models.cpython-34.pyc +
-│   ​├── tests.py +
-│   ​└── views.py +
-└── premierProjet +
-    ├── __init__.py +
-    ├── __pycache__ +
-    │   ​├── __init__.cpython-34.pyc +
-    │   ​├── settings.cpython-34.pyc +
-    │   ​├── urls.cpython-34.pyc +
-    │   ​└── wsgi.cpython-34.pyc +
-    ├── settings.py +
-    ├── urls.py +
-    └── wsgi.py +
-</​code>​ +
- +
-</​note>​ +
- +
- +
-  * On crée des Modèles dans le fichier models.py :+
  
 <code user>vim polls/​models.py</​code>​ <code user>vim polls/​models.py</​code>​
Ligne 548: Ligne 561:
 </​file>​ </​file>​
  
-  * On édite encore une fois le fichier ''​settings.py''​ pour ajouter '''​polls',''​ la section ''​INSTALLED_APPS''​ 
  
-<code user>vim premierProjet/​settings.py</​code>​ +  ​Cette fois la commande "​makemigrations"​ 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>​ +
-... +
-INSTALLED_APPS = [ +
-    '​django.contrib.admin',​ +
-    '​django.contrib.auth',​ +
-    '​django.contrib.contenttypes',​ +
-    '​django.contrib.sessions',​ +
-    '​django.contrib.messages',​ +
-    '​django.contrib.staticfiles',​ +
-    '​polls',​ +
-+
-... +
-</​code>​ +
- +
-  ​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>​python manage.py makemigrations polls</​code>​ <code user>​python manage.py makemigrations polls</​code>​
Ligne 581: Ligne 578:
 <code user>​python manage.py sqlmigrate polls 0001</​code>​ <code user>​python 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 :+  * Mais c'est la commande suivante qui applique les changements ​correspondants à ce script afin que les entités de la base de données ​soient l'​image des classes du Modèle ​:
  
 <code user>​python manage.py migrate</​code> ​ <code user>​python manage.py migrate</​code> ​
Ligne 591: Ligne 588:
   * Explication sur API : http://​sametmax.com/​quest-ce-quune-api/​   * Explication sur API : http://​sametmax.com/​quest-ce-quune-api/​
  
-  * Pour utiliser l'API Django depuis un shell python :+ 
 +===La commande "​python manage.py shell" : pour interroger le Modèle et ses méthodes === 
 +Si on a désactivé le shell pyenv et/ou qu'on est sorti du dossier pour Django : 
 + 
 +<code user>cd ~/​ProjetsDjangoPy3/​premierProjet/​ && pyenv activate 1.8-3.4</​code>​ 
 + 
 +Pour utiliser l'API Django depuis un shell python :
  
 <code user>​python manage.py shell</​code>​ <code user>​python manage.py shell</​code>​
Ligne 618: Ligne 621:
  
  
-==== Création d'un administrateur Django====+===== Création d'un administrateur Django=====
  
   * On se place de le dossier de son projet Django :   * On se place de le dossier de son projet Django :
utilisateurs/hypathie/tutos/developpement-pyhon-utiliser-django.txt · Dernière modification: 06/01/2016 10:18 par Hypathie

Pied de page des forums

Propulsé par FluxBB