Django
Warning
En construction, non relu, faites pas attention aux fautes.
Pour un aperçu (non-exhaustif) des différents modules de Flask
C'est une page qui va être faite en mode agile en parallèle d'un projet que je fais.
Installation
Soit vous utilisez votre gestionnaire de paquets, soit un environnement virtuel et pip.
Pour un environnement virtuel :
Version Linux dans un terminal :
Version Windows (Troll : je conseille d'installer Linux, mais faite ce que vous voulez)
Démarrez cmd ou powershell puis tapez :
Personnellement, je crée un fichier requirements.txt et je note tous les paquets que j'installe un par un. Puis un
me permet d'installer tous les paquets. (Des outils comme poetry existe aussi).
Démarrage d'un projet hello world
Django par rapport à Flask est plus monolithique. Il a donc une approche plus stricte que Flask.
Il fonctionne obligatoire avec une base de données.
Le serveur de développement vous livre les fichiers statiques. Le serveur de production ne livre plus les fichiers statiques, il faut donc prévoir un serveur web.
Pour démarrer un projet django GMAO :
Cela crée un dossier GMAO avec des fichiers :
├── GMAO
│ ├── asgi.py # Configuraton ASGI (Uvicorn)
│ ├── __init__.py
│ ├── settings.py # config du projet
│ ├── urls.py # gestion des URL
│ └── wsgi.py # configuration du wsgi (Gunicorn)
└── manage.py #script qui fait plein de trucs
Pour info : les différences entre gunicorn et uvicorn
Lançons le serveur de dev grâce au script manage.py:
Allons sur 127.0.0.1:5000.
Youpi, django est installé.
première application
Terminal :
Va créer une application login et un dossier login. Votre dossier devrait ressembler à ça :
├── db.sqlite3
├── GMAO
│ ├── asgi.py
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-313.pyc
│ │ ├── settings.cpython-313.pyc
│ │ ├── urls.cpython-313.pyc
│ │ └── wsgi.cpython-313.pyc
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── login
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
└── manage.py
Modifions le fichier views.py dans login.
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the login.")
On crée un fichier urls.py dans le dossier login.
from django.urls import path
from . import views
urlpatterns = [
path("", views.index, name="index"),
]
On configure django pour servir l'app avec son urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path("admin/", admin.site.urls),
path("login/", include("login.urls")),
]
On a un hello world de notre premiere appli.