Les projets Django ont souvent une clé secrète, qui est utilisée pour la sécurisation des données signées. Ce dernier ne doit en aucun cas être publié sur GitHub. Cela peut compromettre votre sécurité. Pour atténuer ce risque, Git Guardian vous permet de savoir si vous transmettez la clé secrète de votre projet à GitHub. Pour éviter cela, suivez ce tutoriel.

Voici quelques mesures à prendre pour éviter ce problème

Utilisez un fichier gitignore. Cela vous permettra de montrer à Git quel fichier et répertoires ignorés. Si c’est correctement fait, GitHub ne prendra en compte ces derniers. Vous devez les créer dans la racine de votre projet avant de le cloner sur VS code.

Créer un environnement virtuel avec le fichier.env ou .venv

#.env
py -3 -m venv .env
#.venv
py -3 -m venv .venv

Il est recommandé d'ignorer votre environnement virtuel en l'ajoutant au fichier gitignore, que vous avez inclus à la racine de votre dépôt. Cela empêchera les fichiers d'être ajoutés à votre dépôt git, et les tiendra à l'écart de votre historique de livraison.

Sur votre terminal, installez python-dotenv avec le code suivant :

pip install python-dotenv

Trouvez le fichier settings.py et collez ces lignes de commande :

from dotenv import load_dotenv
load_dotenv()

Entrez votre clé secrète dans le fichier .env ou .venv. Pour ce faire, allez dans votre fichier settings.py et copiez la clé secrète qui s'y trouve. Collez-la ensuite dans votre fichier .env ou .venv.

SECRET_KEY=ui#1j%%f5mxdojzakk72+dvftl%4&y#31_a##16s6s(6pfxy-b

N'oubliez pas de supprimer les espaces et les guillemets qui l'entourent.

Pour obtenir votre clé secrète, procéder comme suit :

SECRET_KEY = str(os.getenv('SECRET_KEY'))

Si ce n’est pas encore fait, importez la fonction "os" comme suit :

import os 

Testez votre serveur pour voir s’il fonctionne avant de valider.

python manage.py runserver

Si vous voulez apprendre python, nous avons ce qu'il vous faut. Notre site d'apprentissage en ligne propose tout ce dont vous avez besoin pour vous lancer dans le codage, notamment un cours Python divisé en modules faciles à comprendre et comportant des exercices interactifs.