Django

Settings と本番環境の設定

Settings の分割 (base/dev/prod)、シークレット管理、ALLOWED_HOSTS、CSRF_TRUSTED_ORIGINS、SECURE_* settings、.env/vault、ストレージ設定

22 面接問題·
Senior
1

本番環境で Django の settings ファイルを整理する際に推奨される構成は何ですか?

回答

推奨される構成は、共通設定を含む base.py ファイルを持つ settings パッケージを作成し、その後 base.py をインポートして拡張する dev.py、staging.py、prod.py という別々のファイルを用意することです。このアプローチにより、共通設定を共有しつつ特定の環境をカスタマイズでき、メンテナンスが容易になりコードの重複も減らせます。

2

Django プロジェクトの起動時にどの settings ファイルを使用するか指定するにはどうすればよいですか?

回答

DJANGO_SETTINGS_MODULE 環境変数で、使用する settings モジュールへの Python パスを指定できます。たとえば DJANGO_SETTINGS_MODULE=myproject.settings.prod は、Django に settings パッケージの prod.py ファイルを使用するよう指示します。この変数はシェル、サーバーの設定ファイル、あるいはデプロイスクリプト内で設定できます。

3

Django の ALLOWED_HOSTS setting の役割は何ですか?

回答

ALLOWED_HOSTS は、Django アプリケーションを提供することを許可されたドメイン/ホストのリストです。このセキュリティ機構は、各リクエストの Host ヘッダーを検証することで HTTP Host header 攻撃から保護します。DEBUG=False の本番環境ではこの setting は必須であり、400 Bad Request エラーを避けるためにアプリケーションの正当なドメインを含める必要があります。

4

ALLOWED_HOSTS のどの値が任意のホストを受け入れるか、そしてなぜそれが本番環境で危険なのですか?

5

Django 4.0 で導入された CSRF_TRUSTED_ORIGINS setting は何のためにありますか?

+19 面接問題

次の面接に向けてDjangoをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める