Menu
Tuto

 Les chroniques de Django

La base de django

Premier article de la série sur le framework Django :

Dans cet article, on commence par la base : création d'un projet Django sur une machine local, avec l'environnement de développement, les commandes de base pour générer l'application et les modules ...Etc...

C'est partie:

L'aventure commence par la création du dossier, appelez le comme vous le souhaitez, nous le nommerons ici django-doc-project. Le dépôt est disponible en public sur GitLab  Dépot django-doc-project il sera enrichit au fur et a mesure de l’évolution de ce tutoriel. 

# dans la console:
[ookamy@Dev ]$ mkdir django-doc-project

Installation de django , personnellement, je préfère installer Django sur un environnement virtuel, on va donc faire comme cela ici.

 

Création de l’environnement Virtuel : 

Dans le dossier nouvellement créé, on va générer un environnement virtuel avec python et activé celui ci: 

[ookamy@Dev]$ cd django-doc-project
[ookamy@django-doc-project]$ python -m venv env 
[ookamy@django-doc-project]$ source env/bin/activate 
(env) [ookamy@django-doc-project]$ 

On est pret pour django!

 

Création d'un projet Django sur une machine local :

Il faut installer le paquet django et crée l'application dans le dossier.

(env) [ookamy@django-doc-project]$ pip install django
Collecting django
  Using cached Django-5.1.2-py3-none-any.whl.metadata (4.2 kB)
Collecting asgiref<4,>=3.8.1 (from django)
  Using cached asgiref-3.8.1-py3-none-any.whl.metadata (9.3 kB)
Collecting sqlparse>=0.3.1 (from django)
  Using cached sqlparse-0.5.1-py3-none-any.whl.metadata (3.9 kB)
Using cached Django-5.1.2-py3-none-any.whl (8.3 MB)
Using cached asgiref-3.8.1-py3-none-any.whl (23 kB)
Using cached sqlparse-0.5.1-py3-none-any.whl (44 kB)
Installing collected packages: sqlparse, asgiref, django
Successfully installed asgiref-3.8.1 django-5.1.2 sqlparse-0.5.1
(env) [ookamy@django-doc-project]$ 

 

Maintenant que Django est accessible on va crée le projet ici «myapp» mais vous pouvez le personnaliser :

(env) [ookamy@django-doc-project]$ django-admin startproject myapp ../django-doc-project

 

Dans le dossier django-doc-project nous avons un dossier env/ pour notre environnement virtuelle et le coeur du projet django manage.py et myapp/. 

On est presque prêt !

 

Initialisation de la base de données :

Il faut générer la structure de la base de donnée en local

(env) [ookamy@django-doc-project]$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying sessions.0001_initial... OK
(env) [ookamy@django-doc-project]$ 

 

Création de l'administrateur :

(env) [ookamy@django-doc-project]$ python manage.py createsuperuser
Username (leave blank to use 'ookamy'): ###je garde le même nom###
Email address: fake@ookamy.com
Password: ###on ne voit rien quand on tape le mot de passe###
Password (again): ######
Superuser created successfully.
(env) [ookamy@django-doc-project]$ 

 

Lançons la machine :

(env) [ookamy@django-doc-project]$ python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
October 22, 2024 - 08:23:51
Django version 5.1.2, using settings 'myapp.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

et voilà !

Vous êtes prêt pour la suite.


Notre première application : Docs

Django fait la différence entre application et Projet. L'application est un élément web qui a une fonction, un blog, un forum. J'ai tendance à l'appeler « module » comme il est possible d'utiliser une application dans un ou plusieurs projets. Le Projet est une combinaison d'application.

L'application sera un blog, le plus simple possible. Pour créer cette application, il faut être au même niveau que le fichier manage.py.

(env) [ookamy@django-doc-project]$ python manage.py startapp blog

Nous avons maintenant une application blog dans notre projet:

Si vous êtes novice sur Django, faites le tutoriel du site, il est mis à jour au fur et à mesure des versions de Django. 

Dans le prochain chapitre, nous allons voir le fichier settings.py avec l'intégration de l'application au projet, les templates et les staticsfiles.

 

 

Rédigé par ookamy le 22 octobre 2024, dernière mise à jour au 28 octobre 2024