0

私は Django と Web アプリの開発にかなり慣れていないので、おそらく私の質問はあまりよく考えられていません。

私が取り組んでいる新しい Web サイトでは、着信要求ごとに一連のデータベース クエリを実行したいと考えています。これをコードで構造化する最良の方法は何だろうと思っています。

具体的には、ヘッダー セクションに挨拶 (「こんにちはジョン」など) とユーザーのショッピング カートの状態を表示したいと考えています。get_header_details ヘルパー関数を作成し、すべてのビュー メソッドから呼び出すことを検討しましたが、これを行うためのより良い方法が必要です。考え?

また、挨拶とショッピング カートの状態をすべてのページに表示したいのですが、すべてのページ リクエストでクエリを実行する必要はないかもしれません。これを行う良い方法はありますか?これは学習プロジェクトなので、テクノロジー スタックに何かを追加しても問題ありません。

4

2 に答える 2

2

ショッピング チャートの場合は、ミドルウェアコンテキスト プロセッサをセッションと結合し、できればキャッシング(Memcached など) を使用するのが最適です。

ミドルウェアを使用すると、すべてのビューの前後に任意のアクションを実行できます。コンテキスト プロセッサを使用すると、すべてのテンプレートに変数を挿入できます。ショッピング チャートを実装する最も一般的な方法は、セッションを使用することです。これは、通常、ショッピング チャートの状態をデフォルトで無期限に保存したくないためです (もちろん、便利な機能としてこのオプションを提供できます)。

挨拶メッセージに関しては、キャッシングを使用して、すべての要求で余分な (おそらく不要な) クエリを回避します。

于 2013-08-01T21:28:25.367 に答える
0

Django は優れたキャッシングをサポートしています。インスタンスでは、テンプレート フラグメント キャッシュが役立つ場合があります。

于 2013-08-01T21:24:52.823 に答える