0

頻繁に変更されないページ要素がいくつかあり、アドバーやフッターコンテンツなど、すべてのページに表示されます。

管理インターフェースでこの要素の設定を変更したいので、それらのモデルがあります。

これらの要素に対処するためのdjangoのベストプラクティスはありますか?

4

3 に答える 3

1

コンテキストプロセッサを使用してそれらをコンテキストに追加し、単純なキャッシュメカニズムを使用して、 http://eflorenzano.com/blog/2008/11/28/drop-のように毎回データベースにアクセスする必要がないようにすることができます。 dead-simple-django-caching /

于 2012-07-30T19:51:49.817 に答える
1

そうではありません。シングルトンパターンを記述しているので、シングルトンモデルタイプを実装することをお勧めします。

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つのモデルにまとめることをお勧めします。

于 2012-07-30T19:52:11.700 に答える
-1

答えるのは難しい-あなたは正確に何を求めていますか?

これらのモデルをベーステンプレートに表示できます。キャッシュを使用して、データベース呼び出しを減らすことができます。

于 2012-07-30T19:51:11.533 に答える