頻繁に変更されないページ要素がいくつかあり、アドバーやフッターコンテンツなど、すべてのページに表示されます。
管理インターフェースでこの要素の設定を変更したいので、それらのモデルがあります。
これらの要素に対処するためのdjangoのベストプラクティスはありますか?
頻繁に変更されないページ要素がいくつかあり、アドバーやフッターコンテンツなど、すべてのページに表示されます。
管理インターフェースでこの要素の設定を変更したいので、それらのモデルがあります。
これらの要素に対処するためのdjangoのベストプラクティスはありますか?
コンテキストプロセッサを使用してそれらをコンテキストに追加し、単純なキャッシュメカニズムを使用して、 http://eflorenzano.com/blog/2008/11/28/drop-のように毎回データベースにアクセスする必要がないようにすることができます。 dead-simple-django-caching /
そうではありません。シングルトンパターンを記述しているので、シングルトンモデルタイプを実装することをお勧めします。
class SingletonModel(models.Model):
class Meta:
abstract = True
def save(self, *args, **kwargs):
self.id = 1
super(SingletonModel, self).save(*args, **kwargs)
def delete(self, *args, **kwargs):
pass
これにより、そのクラスから継承するモデルは、メンバーを1つだけ持つことができ、削除することはできなくなります。それ以外は、SiteSettings
ヘッダーやフッターなどのフィールドごとに個別のモデルを作成するのではなく、すべてを1つのモデルにまとめることをお勧めします。
答えるのは難しい-あなたは正確に何を求めていますか?
これらのモデルをベーステンプレートに表示できます。キャッシュを使用して、データベース呼び出しを減らすことができます。