【个人备忘录】这个我想用!Django2022年的最佳实践

关于这篇文章

调查了关于Django的最佳实践,并将我希望使用的事项记录下来。

Django的基本結構是什麼?

『实践中的Django项目设计 – 写下能使开发和运营更轻松的配置文件!反模式和最佳实践』

将settings.py进行拆分

    • project/config/settings/以下にdev.py, prod.py, stat.pyのように環境ごとの設定を分けて用意しておく。それぞれは大元となるbase.pyをimportして、必要な箇所のみ上書きして使用する。

 

    指定のsettingを使用したい場合は、環境変数DJANGO_SETTINGS_MODULEにファイルを指定する。

使环境变量来加载密钥等机密信息。

    • 環境変数からsettingsへ読み込む際はdjango-environというライブラリを使用する。

 

    環境変数一覧はpipenvを使用して、.envファイルとして管理する。※ただし、実際の値はgitにあげないように注意する。あくまでテンプレートのみ。実際の値は手入力?

似乎连接到SMTP服务器

    • localhostにMailHogを立ててテストする。開発環境用。

 

    • テストする時は、python manage.py sendtestmail “message”

 

    MailTrapというサービスも使えるよ。

媒体上传

    • 基本的には開発環境ではS3やCloud Storage等へはアップロードしない。

 

    する場合はdjango-storagesが使える

请使用汉语本地译文

    • 最低限ローテションする

 

    クラウドを利用している場合は、streamhandlerで吐き出して、cloud watch logsやcloud logging等に渡すのもアリ

创建Django目录模板。

    cookiecutter-django

数据库设计的技巧

【データベース設計】ユーザーテーブルの設計について考えてみる。

論理削除したユーザのログインIDを使えるようにするべきか? もう二度と使えないままでいいのか?

DBの寿命はアプリより長い! 長生きするDBに必要な設計とリファクタリングを実践から学ぶ
データベース設計の際に気をつけていること
https://security.stackexchange.com/questions/187426/how-to-get-better-iam-understanding

bannerAds