Récupérer la clé d'API avec django-environ
Exclusif Premium
Débloquez votre potentiel ! ✨
Cette session fait partie de notre programme Premium exclusif
+100h de formations exclusives
+180 exercices de code avancés
+100h de mentorats en réécriture
20 projets guidés pas à pas
Mentorats groupés hebdomadaires
Support individuel avec nos mentors
Prêt à passer au niveau supérieur ?
Découvrez tous les avantages Premium et transformez votre apprentissage dès aujourd'hui!
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compteToutes les questions

Skill
28 avril 2025
Résolue
7 réponses
Erreur STRIPE_API_KEY lors du lancement du serveur avec une clé API de test
**J'ai cette erreur suivante lorsque je mets la clé api test que j'ai copié sur stripe:**
```
(env_cha) PS D:\Mes Projets\Chaïma> py manage.py runserver
Invalid line: STRIPE_API_KEY = "nepasmontrer"
Invalid line: STRIPE_API_KEY = "nepasmontrer"
Invalid line: STRIPE_API_KEY = "nepasmontrer"
Traceback (most recent call last):
File "D:\Mes Projets\Chaïma\env_cha\Lib\site-packages\environ\environ.py", line 409, in get_value
value = self.ENVIRON[var_name]
~~~~~~~~~~~~^^^^^^^^^^
File "", line 716, in __getitem__
KeyError: 'STRIPE_API_KEY'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "D:\Mes Projets\Chaïma\manage.py", line 22, in
main()
~~~~^^
File "D:\Mes Projets\Chaïma\manage.py", line 18, in main
execute_from_command_line(sys.argv)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "D:\Mes Projets\Chaïma\env_cha\Lib\site-packages\django\core\management\__init__.py", line 442, in execute_from_command_line
utility.execute()
~~~~~~~~~~~~~~~^^
File "D:\Mes Projets\Chaïma\env_cha\Lib\site-packages\django\core\management\__init__.py", line 436, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "D:\Mes Projets\Chaïma\env_cha\Lib\site-packages\django\core\management\base.py", line 416, in run_from_argv
self.execute(*args, **cmd_options)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "D:\Mes Projets\Chaïma\env_cha\Lib\site-packages\django\core\management\commands\runserver.py", line 69, in execute
super().execute(*args, **options)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "D:\Mes Projets\Chaïma\env_cha\Lib\site-packages\django\core\management\base.py", line 460, in execute
output = self.handle(*args, **options)
File "D:\Mes Projets\Chaïma\env_cha\Lib\site-packages\django\core\management\commands\runserver.py", line 80, in handle
if not settings.DEBUG and not settings.ALLOWED_HOSTS:
^^^^^^^^^^^^^^
File "D:\Mes Projets\Chaïma\env_cha\Lib\site-packages\django\conf\__init__.py", line 81, in __getattr__
self._setup(name)
~~~~~~~~~~~^^^^^^
File "D:\Mes Projets\Chaïma\env_cha\Lib\site-packages\django\conf\__init__.py", line 68, in _setup
self._wrapped = Settings(settings_module)
~~~~~~~~^^^^^^^^^^^^^^^^^
File "D:\Mes Projets\Chaïma\env_cha\Lib\site-packages\django\conf\__init__.py", line 166, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "C:\Users\ulric\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 1022, in exec_module
File "", line 488, in _call_with_frames_removed
File "D:\Mes Projets\Chaïma\chacha\settings.py", line 139, in
STRIPE_API_KEY = env("STRIPE_API_KEY")
File "D:\Mes Projets\Chaïma\env_cha\Lib\site-packages\environ\environ.py", line 207, in __call__
return self.get_value(
~~~~~~~~~~~~~~^
var,
^^^^
...<2 lines>...
parse_default=parse_default
^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "D:\Mes Projets\Chaïma\env_cha\Lib\site-packages\environ\environ.py", line 413, in get_value
raise ImproperlyConfigured(error_msg) from exc
django.core.exceptions.ImproperlyConfigured: Set the STRIPE_API_KEY environment variable
(env_cha) PS D:\Mes Projets\Chaïma>
```

Christian Aucane
13 janvier 2023
Résolue
3 réponses
Comment afficher le fichier .env dans l'arboresssence a gauche de PyCharm
le fichier n'apparait pas dans mon arboressence a gauche, comment l'afficher ?

Thibaut44300
12 janvier 2023
Résolue
6 réponses
Problème lors de la création du fichier .env
Pycharm ne veut pas créer mon fichier .env car c'est il y a un dossier qui porte le même nom. Est-il possible de masquer le dossier? Je suppose que le nom du fichier doit obligatoirement être .env
00:00:00 :Afin d'authentifier les requêtes avec notre compte Stripe, on va devoir utiliser une clé d'API qui nous est fournie avec Stripe.Donc pour ça, vous pouvez aller sur le portail des développeurs de Stripe, ici en cliquant en haut à droite,et vous allez arriver sur cette vue pour les développeurs qui va contenir un menu pour les clés d'API.
00:00:17 :Donc ici, on est toujours en mode de test, donc vous voyez ici que la clé publique est appelée PK Test.Quand vous ne serez pas en mode de test, les clés seront différentes.
00:00:25 :Donc bien entendu, il faudra penser, quand votre site est en ligne, à utiliser les clés qui ne sont pas les clés de test.Nous, en local, ici, on va utiliser les clés de test.
00:00:34 :Donc vous pouvez ici cliquer sur « Révéler la clé de test ».Vous la voyez ici maintenant devant vous, et vous pouvez la copier, donc tout simplement en cliquant dessus,et on va pouvoir l'utiliser dans notre projet Django.
00:00:45 :Alors bien entendu, cette clé, elle est très importante, et c'est très important qu'elle reste secrète, comme son nom l'indique,et donc on ne va pas l'intégrer directement dans le fichier Python.
00:00:55 :Même si, par exemple, vous mettez votre code sur un dépôt Git qui est privé,par exemple sur GitHub, Bitbucket ou n'importe quel hébergeur,même si votre dépôt est privé, ce n'est jamais une bonne idée de mettre des clés secrètes directement dans le code.
00:01:08 :Donc pour ne pas exposer les clés d'API directement dans notre code,on va utiliser un package qui s'appelle Django Environ,qui va nous permettre de créer un fichier avec des variables d'environnement,et ce fichier, bien sûr, ne sera pas intégré à votre dépôt Git,et il faudra bien entendu le garder sur votre serveur et ne jamais le mettre ailleurs pour ne pas révéler cette clé secrète.
00:01:29 :Donc ce qu'on va faire, c'est installer ce package,donc je vais ouvrir un terminal, et avec pip, on va faire pip install django-environ.Assurez-vous, là encore, d'avoir votre environnement virtuel d'activé,et je vais en profiter pour rajouter directement cette dépendance dans mon fichier de requirements.
00:01:44 :Donc on fait pip freeze, et on le met dans requirements.txt.Comme ça, notre dépendance est bien ajoutée,et on va ensuite créer un fichier qu'on va mettre directement dans le dossier de notre projet,qu'on va appeler .env.
00:01:56 :Donc c'est ce fichier ici que moi j'avais déjà créé,donc vous pouvez le créer en faisant clic droit, New File, et vous l'appelez .env.Et donc dans ce fichier, on va mettre nos variables d'environnement,et c'est ce fichier qu'il faudra bien faire attention de ne pas mettre dans votre dépôt Git.
00:02:11 :Il se peut, quand vous le créez d'ailleurs, que PyCharm vous propose de l'ajouter directement.Je vais vous le montrer si je supprime ce fichier,et que j'essaie de le recréer.
00:02:20 :Donc je l'appelle .env, je valide,et là vous voyez on a cette fenêtre qui nous demande si on veut ajouter le fichier à Git.Donc vous ne faites pas Add, vous faites Cancel,pour ne pas l'ajouter, et directement vous pouvez dans le fichier .gitignore,
00:02:32 :ajouter ce fichier .env.Donc on va le mettre ici à la fin, on va faire .env,et on va indiquer ainsi à Git qu'on ne souhaite pas intégrer ce fichier à l'intérieur de notre dépôt Git.
00:02:42 :Donc maintenant que c'est fait, on va pouvoir ajouter nos variables d'environnement à l'intérieur de ce fichier.Donc on va faire une variable qu'on va appeler stripeApiKey,et on va mettre notre clé qu'on a copiée précédemment sur le site de Stripe.
00:02:55 :Donc c'est cette clé ici, la clé secrète, qui est la clé de test pour l'instant.Donc je la copie tout simplement en cliquant dessus,et on va retourner dans notre projet pour la mettre à l'intérieur de ce fichier.
00:03:05 :Une fois que c'est fait, on va aller dans notre fichier de settings,donc dans le fichier settings.py ici,et on va modifier un petit peu le fichier ici pour aller chercher ces variables d'environnement.
00:03:16 :Donc ici on a l'import de pathslib, on a le basedir qui est le dossier de notre projet.Juste avant ici, on va importer le module qui s'appelle environ,donc on va faire import environ.
00:03:27 :Donc ça c'est le package qu'on a installé qui s'appelait django-environ,et le nom du package à l'intérieur d'un script Python il s'appelle tout simplement environ.
00:03:35 :Ce qu'on va faire ensuite, c'est créer une variable qui va représenter notre environnement.Donc je vais l'appeler tout simplement env,et on va utiliser environ.env pour créer un objet d'environnement qui va récupérer toutes ces variables.
00:03:47 :On va ensuite laisser cette ligne ici qui va nous permettre de récupérer le dossier de base de notre projet,et par la suite on va aller lire les variables d'environnement qui sont dans notre fichier .env qu'on vient de créer.
00:03:58 :Donc pour ça on va utiliser environ.env.readenv,et on va concatener notre basedir, donc le dossier source, avec tout simplement le fichier .env.Donc on va mettre une chaîne de caractère .env,
00:04:11 :et donc ça c'est le chemin complet vers le fichier d'environnement qu'on souhaite lire.Donc c'est ça qu'on va faire avec cette méthode readenv.Une fois qu'on a fait cette opération, donc après cette ligne ici,on va pouvoir récupérer toutes les informations de notre environnement en utilisant cette variable ici.
00:04:26 :Donc je vais créer une clé, je vais la mettre un petit peu plus bas ici,on va la mettre par exemple après le secret key.
00:04:32 :On pourrait la mettre même directement tout à la fin,comme ça c'est bien clair que c'est une clé qu'on a rajoutée nous-mêmes.Donc je vais faire une variable que je vais appeler stripeApiKey,elle va être égale à notre variable .env,
00:04:42 :et le nom de la variable d'environnement qu'on souhaite récupérer,qui est également stripeApiKey.Donc ça c'est bien le nom de la variable qu'on avait à l'intérieur de notre fichier .env ici,
00:04:51 :c'est ce nom ici qu'on va récupérer entre les guillemets,et qu'on va associer à cette variable ici dans notre fichier de settings.Donc ainsi vous voyez que dans le fichier de settings,on n'a jamais cette clé secrète qui est affichée,on a juste le .env ici.
00:05:05 :La clé elle, elle se trouve à l'intérieur de ce fichier .envqui ne sera jamais ajoutée à votre dépôt git,donc pour ça il faut bien faire attention de ne pas l'ajouterquand vous créez le fichier et de l'ajouter dans le gitignore,comme ça on est sûr qu'elle ne sera jamais ajoutée par mégarde.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.