3
編集可能なサイトコンテンツを保存しますか?
一部のコンテンツ(テキスト、料金プランなどのビジネスロジック)を社内で簡単に編集できるようにしたいDjangoベースのWebサイトがあるため、コードベースの外部に保存することにしました。通常、理由は次のいずれかです。 これは、技術者でない人が編集したいものです。1つの例は、Webサイトのコピーライティングです。プログラマーは、デフォルトで "Lorem ipsum ..."になるテキストを含むテンプレートを準備し、実際のコンテンツは後でデータベースに挿入されます。 これは、新しいコードをデプロイする必要なく(現在は週に2回)迅速に変更できるようにしたいものです。例としては、さまざまな価格階層の顧客が現在利用できる機能があります。これらをハードコーディングする代わりに、データベースから読み取ります。 説明されているソリューションは柔軟ですが、私がそれを気に入らない理由がいくつかあります。 コンテンツはデータベースから読み取る必要があるため、パフォーマンスのオーバーヘッドがあります。 キャッシングスキームを使用してこれを軽減しますが、これによりシステムが多少複雑になります。 コードをローカルで実行する開発者は、本番環境での実行方法と比較して、システムを大幅に異なる状態で認識します。自動テストでは、システムを別の状態で実行します。ステージングサーバーでの新機能のテストなどの状況も複雑になります。ステージングサーバーにデータベースの最新のコピーがない場合、それは本番環境とは予期せず異なる場合があります。 新しい状態をリポジトリにコミットすることで(たとえば、データの移行を追加することで)軽減できますが、それは間違ったアプローチのようです。それは...ですか? これらの問題を解決するための最良のアイデアはありますか?私が見落としているコンテンツを処理するためのより良いアプローチはありますか?