私はあらゆる場所を調べましたが、いくつかの異なるソースからの古いものや断片的なものしか見つかりませんでしたが、Django を運用環境にデプロイするための完全な手順を持っているものはありませんでした。
私が見たいのは、特にDjango専用のgit、ローカルおよび運用環境のsettings.py、.gitignoreを利用してDjangoをデプロイするための推奨される方法です。
必要なファイルのみが git リポジトリに送信されるように、両方の環境に対応する設定と .gitignore ファイルに追加する必要のある設定をどのように実装すればよいですか?
ローカルおよび実稼働設定を使用するベスト プラクティスと最新の方法を知りたいことに注意してください。
このような疑問は、Django アプリをデプロイするときに発生します。
- 設定はどこに保存する必要がありますか?
- 両方の環境に対応する設定を適切に実装するにはどうすればよいですか?
- 主な設定から切り離すべき機密情報は何ですか?
2016 年 9 月 25 日更新:
これを明確にしてくれてありがとうandreasそして今、私は Django を展開する標準的な方法がないことに完全に同意します. 私は長い調査を行い、Django 設定を展開するために最も一般的に使用される方法を見つけました。同じ疑問を持っているすべての人に私の調査結果を共有します。
答える
設定はどこに保存する必要がありますか?
settings.py
設定は、単一のファイルではなく、設定モジュール内に収める方が適切です。
両方の環境に対応する設定を適切に実装するにはどうすればよいですか?
これは、設定モジュールが非常に便利な場所です。環境に依存しない設定を簡単に作成でき、git またはその他のバージョン管理で維持できるためです。
主な設定から切り離すべき機密情報は何ですか?
データベース、電子メール、秘密鍵、および認証関連情報を含むあらゆる機密情報と、この個人情報を秘密裏に提供する方法については、andreas の提案を使用することをお勧めします。
で別のファイルを作成し/etc/app_settings
て非常に制限するか、システム内の環境変数を単に使用することができます。
.gitignore 部分
.gitignore の部分については、 https://github.com/github/gitignoreであらゆる種類の例を入手できる素晴らしいレポを見つけました。
私は最終的に使用しました:
# OSX Finder turds
.DS_Store
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# Distribution / packaging
.Python
env/
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Django stuff:
*.log
my_app/settings/dev.py
bower_components
答えが非常に長くなってしまったので、Django 設定の展開ですべての手順を説明する記事を作成しました。