Django - Créer un projet

Maintenant que nous avons installé Django, commençons à l'utiliser. Dans Django, chaque application Web que vous souhaitez créer est appelée un projet; et un projet est une somme d'applications. Une application est un ensemble de fichiers de code reposant sur le modèle MVT. Par exemple, disons que nous voulons construire un site Web, le site Web est notre projet et, le forum, les actualités, le moteur de contact sont des applications. Cette structure facilite le déplacement d'une application entre les projets puisque chaque application est indépendante.

Créer un projet

Que vous soyez sous Windows ou Linux, procurez-vous simplement un terminal ou un cmd invite et accédez à l'endroit où vous souhaitez que votre projet soit créé, puis utilisez ce code -

$ django-admin startproject myproject

Cela créera un dossier "myproject" avec la structure suivante -

myproject/
   manage.py
   myproject/
      __init__.py
      settings.py
      urls.py
      wsgi.py

La structure du projet

Le dossier «myproject» est juste le conteneur de votre projet, il contient en fait deux éléments -

  • manage.py- Ce fichier est en quelque sorte votre projet django-admin local pour interagir avec votre projet via la ligne de commande (démarrer le serveur de développement, synchroniser la base de données ...). Pour obtenir une liste complète des commandes accessibles via manage.py, vous pouvez utiliser le code -

$ python manage.py help
  • The “myproject” subfolder- Ce dossier est le package python réel de votre projet. Il contient quatre fichiers -

    • __init__.py - Juste pour python, traitez ce dossier comme un package.

    • settings.py - Comme son nom l'indique, les paramètres de votre projet.

    • urls.py- Tous les liens de votre projet et la fonction à appeler. Une sorte de ToC de votre projet.

    • wsgi.py - Si vous avez besoin de déployer votre projet sur WSGI.

Configurer votre projet

Votre projet est configuré dans le sous-dossier myproject / settings.py. Voici quelques options importantes que vous devrez peut-être définir -

DEBUG = True

Cette option vous permet de définir si votre projet est en mode débogage ou non. Le mode débogage vous permet d'obtenir plus d'informations sur l'erreur de votre projet. Ne le définissez jamais sur «True» pour un projet en direct. Cependant, cela doit être défini sur «True» si vous voulez que le serveur Django light serve des fichiers statiques. Faites-le uniquement en mode développement.

DATABASES = {
   'default': {
      'ENGINE': 'django.db.backends.sqlite3',
      'NAME': 'database.sql',
      'USER': '',
      'PASSWORD': '',
      'HOST': '',
      'PORT': '',
   }
}

La base de données est définie dans le dictionnaire 'Database'. L'exemple ci-dessus concerne le moteur SQLite. Comme indiqué précédemment, Django prend également en charge -

  • MySQL (django.db.backends.mysql)
  • PostGreSQL (django.db.backends.postgresql_psycopg2)
  • Oracle (django.db.backends.oracle) et NoSQL DB
  • MongoDB (django_mongodb_engine)

Avant de configurer un nouveau moteur, assurez-vous que le pilote db correct est installé.

Vous pouvez également définir d'autres options telles que: TIME_ZONE, LANGUAGE_CODE, TEMPLATE…

Maintenant que votre projet est créé et configuré, assurez-vous qu'il fonctionne -

$ python manage.py runserver

Vous obtiendrez quelque chose comme ce qui suit en exécutant le code ci-dessus -

Validating models...

0 errors found
September 03, 2015 - 11:41:50
Django version 1.6.11, using settings 'myproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.