ホームページ >バックエンド開発 >Python チュートリアル >Django プロジェクトに .env をロードする方法

Django プロジェクトに .env をロードする方法

Barbara Streisand
Barbara Streisandオリジナル
2024-11-29 00:15:16245ブラウズ

How to load .env in Django Project

私は PHP の出身で、主に Laravel/Symfony を使用しています。最近、Django を使い始めました。環境変数が .env ファイル経由で提供される方法を再現したいと思いました。

開発サーバーを起動すると、心配することなく .env がロードされるようにしたいと考えていました。したがって、次の手順に従いました。

デモ用の基本的なプロジェクト設定

基本的なアプリを作成します (Django がすでにセットアップされている場合はスキップしてください)

まず、仮想環境を作成し、プロジェクトをセットアップしました。

mkdir myproject
cd myproject
python3 -m venv ./venv
echo vencv >> .gitignore
pip install Django
django-admin startproject mysite .

python-dotenv をインストールします (すでに完了している場合はスキップしてください)

pip install python-dotenv

.envファイルをロードする

python-dotenv を使用すると、.env ファイルから環境変数を簡単にロードできます:

from dotenv import load_dotenv
load_dotenv()

問題は、このコードを どこに 置くかです。 .env ファイルを毎回ロードするのは面倒な場合があります。前に述べたセットアップに基づいて、私のプロジェクトは次の構造を作成しました (わかりやすくするために一部のファイルは省略しています):

myproject/
├── mysite/
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── .env

ご覧のとおり、mysite ディレクトリはモジュールとしてロードされます。すべての環境変数は .env ファイルに保存されます。それらをロードするために、コードを mysite/__init__.py ファイルに追加しました。

from dotenv import load_dotenv
load_dotenv()

これにより、次を実行するたびにすべての環境変数が確実にロードされます。

python manage.py runserver

欠点

このアプローチの欠点は、.env ファイルに変更を加えた場合、環境変数を再ロードするためにサーバーを停止して再起動する必要があることです。

以上がDjango プロジェクトに .env をロードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。