ホームページ > バックエンド開発 > Python チュートリアル > 機密データを YAML ファイルに保存するように Django プロジェクトを構成する

機密データを YAML ファイルに保存するように Django プロジェクトを構成する

Barbara Streisand
リリース: 2024-12-04 18:49:12
オリジナル
559 人が閲覧しました

Configuring Django project to storing sensitive data in YAML file

.py ファイル内のトークン、データベース資格情報、その他の機密データのハードコーディングは安全ではありません。 django-environ ライブラリを使用している人は多いですが、不便だと思います。そのため、機密データの保存には yaml ファイルを使用し、そのデータの読み取りには pyyaml ライブラリを使用します。

プロジェクトフォルダーの作成:

mkdir myproject
ログイン後にコピー

作成したフォルダーに切り替えます:

cd myproject
ログイン後にコピー

仮想環境の作成:

python3 -m venv env
ログイン後にコピー

仮想環境をアクティブ化します:

source env/bin/activate
ログイン後にコピー

Django と pyyaml をインストールします:

pip3 install django pyyaml
ログイン後にコピー

新しい Django プロジェクトを開始します:

django-admin startproject myproject .
ログイン後にコピー

settings.py ファイルの近くに settings.yaml ファイルを作成します:

touch myproject/settings.yaml
ログイン後にコピー

settings.py ファイルの先頭にインポートを挿入します:

import os
import yaml
ログイン後にコピー

settings.yaml ファイルから読み取るためのコードを挿入します:

with open(os.path.join(str(Path(__file__).resolve().parent), 'settings.yaml'), 'r') as settingsfile:
    settings = yaml.safe_load(settingsfile)
ログイン後にコピー

settings.yaml ファイルから読み取るためのコードを挿入します:

SECRET_KEY = settings['SECRET_KEY']
DEBUG = settings['DEBUG']
ALLOWED_HOSTS = settings['ALLOWED_HOSTS']
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': settings['DATABASES']['NAME'],
        'USER': settings['DATABASES']['USER'],
        'PASSWORD': settings['DATABASES']['PASSWORD'],
        'HOST': settings['DATABASES']['HOST'],
        'PORT': settings['DATABASES']['PORT'],
    }
}
ログイン後にコピー

settings.yaml に構成を追加します:

SECRET_KEY: 'your-secret-token'
DEBUG: true
ALLOWED_HOSTS:
  - 127.0.0.1
  - localhost
  - 0.0.0.0
DATABASES:
  NAME: 'database_name'
  USER: 'database_user'
  PASSWORD: 'password'
  HOST: '127.0.0.1'
  PORT: '5432'
ログイン後にコピー

以上が機密データを YAML ファイルに保存するように Django プロジェクトを構成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート