Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Artpython Doctor Page Django Initialiser Creer Python

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 5

Initialiser un projet django

Installer Django
Créer une application Django

Un projet pour des applications


Un projet Django est composé d' applications (ou apps). Ces applications peuvent être d'ailleurs
déplacées dans d'autres projets . C'est une des forces de Django : les développeurs peuvent
s'échanger des applications compatibles très facilement. Un exemple de projet serait une
eboutique (shop online) et un exemple d'application (une sorte de composant) serait une
application qui permet de payer par carte bancaire.
Django reprend une philosophie informatique : DRY pour " don't repeat yourself ". L'idée étant
d'éviter la redondance de code afin de faciliter la maintenance, le test, le débogage et les
évolutions si nécessaire. Le jour où vous développerez un module qui n'existe pas dans la
communauté Django , pensez à le partager!

Créer un projet
Pour créer un projet Django , ouvrez votre terminal et lancez la commande suivante:

django-admin startproject eboutique

Lancez cette commande dans le contexte qui vous intéresse, nous avons choisi notre dossier home .
Le projet se nomme dans notre cas " eboutique "

Comprendre structure d'un projet Django


Suite à la demande de création d'un projet Django, un dossier eboutique a été crée dans notre
dossier home .

Voici l'arboresence du projet

/home/olivier/eboutique
├── eboutique
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py

Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
Comme nous l'avons vu dans un chapitre précédent, la présence d'un fichier __init__.py permet au
dossier qui le contient de pouvoir être traité comme un packet python.

Le fichier manage.py est le point d'entrée de commande de management du projet. Il permet de


créer des applications (voir le prochain chapitre) et d'autres actions que nous verrons plus tard.
Vous pouvez d'ores et déjà consulter la liste des options en l'éxecutant sans argument.
Le fichier urls.py est ue sorte de table de routage. Pour chaque URL définie on peut l'envoyer vers
une fonction choisie.

Et enfin le fichier settings.py qui est comme son nom l'indique un fichier de configuration. Comme
souvent en python le fichier de configuration n'est pas un simple fichier texte mais un script qui
déclare des variables d'environnement. C'est ici que vous pourrez indiquer quelle base de données
utiliser ou quelles applications ajouter au projet, où se situent les fichier statiques, etc.
Au passage je vous invite à installer le packet tree pour voir ce type d'arboresence sur votre
machine.

sudo apt-get install tree


tree /home/olivier/eboutique

Lancer le serveur de développement


Il est déjà possible à ce stade de consulter votre projet sur votre navigateur:

python /home/olivier/eboutique/manage.py runserver

Ce qui devrait a icher:

Validating models...

0 errors found
August 22, 2019 - 15:07:20
Django version 1.6.6, using settings 'eboutique.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

J'ai exprès pris le chemin absolu du manager du projet pour vous montrer son emplacement, mais
vous pouvez évidement utiliser un chemin relatif.

Voici le rendu sur la navigateur:

Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
Pensez à indiquer le port par défaut (8000) sur votre barre d'adresse comme dans l'exemple ci-
dessus. Il est d'ailleurs possible de changer le port:

python /home/olivier/eboutique/manage.py runserver 5555

Rendre disponible son serveur sur tout le réseau


Si vous voulez partager votre projet sur le réseau local avec d'autres utilisateurs, vous pouvez
choisir l'adresse IP 0.0.0.0

python manage.py runserver 0.0.0.0:8000

Mode debug
La première chose à connaitre c'est qu'il existe une variable qui gère le rendu votre projet , c'est à
dire si votre projet se trouve dans un environnement de développement ou de production le rendu
ne sera pas le même: dans un environnement de développement on a iche les erreurs / debug, ce
qui est fortement déconseillé dans un environnement de production.
Voici la variable (dans le fichier settings.py ):

DEBUG = True

Configurer l'accès à sa base de données


Le choix de la base de données dépendant de l'envergure de votre projet, si vous avez des doutes
pour le choix d'un SGBD je vous invite à lire le chapitre consacré au sujet: choisir son gestionnaire
de base de données . Dans notre exemple (création d'une eboutique) nous utiliserons MySQL pour
des raisons totalement arbitraires.

Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS' : { "init_command": "SET foreign_key_checks = 0;" },
'NAME': 'eboutique',
'USER': 'root',
'PASSWORD': 'MOTDEPASSE',
'HOST': '127.0.0.1',
'PORT': '',
}
}

J'ai ajouté une option histoire de montrer comment cette option fonctionne, elle n'est évidemment
pas obligatoire.

Configuration du fuseau horaire


Remplacez la valeur de la variable TIME_ZONE par le lieu géographique de votre serveur:

TIME_ZONE = "Europe/Paris"

Changer la langue
Pour modifier les paramètres de la langue:

LANGUAGE_CODE = "fr-fr"

Paramétrer les fichiers statiques


Nous indiquons ici où sont stockés les fichiers statiques et comment les atteindre

STATIC_URL = '/static/'
STATICFILES_DIRS = (
BASE_DIR + '/static/',
)

Indiquer les dossiers templates


Indiquez vos dossiers de templates dans le dossier DIRS

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [ '', 'test'],
'APP_DIRS': True,
'OPTIONS': {

Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

Indiquer les dossiers média


MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR + '/media/'

Installer Django
Créer une application Django

Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com

Vous aimerez peut-être aussi