2012-02-15 27 views
0

django adminにグローバル変数を保存して編集するには、以下のような方法があります。 models.py:django adminにグローバル変数を保存して編集するにはどうすればよいですか?

from django.db import models 

class Section(models.Model): 
    percent = models.PositiveSmallIntegerField(u'Percent') 
    some_variable = models.PositiveSmallIntegerField(u'Some_variable') 

admin.py:

このような
from app.models import Settings 

class Settings(admin.ModelAdmin): 
    fieldsets = (
     (None, { 
      'fields': ('percent', 'some_variable') 
     }), 
    ) 

し、コンテキストプロセッサ:

from app.models import Settings 

def settings(request): 

    settings = Settings.objects.all()[0] 

    from django.conf import settings 
    return { 
     'PERCENT':  settings.percent, 
     'SOME_VARIABLE': settings.some_variable, 
    } 

答えて

0

そのすべての詳細がなくて、 "最良の方法" を決定するのは難しいです、あなたのソリューションは機能し、あなたのニーズを満たすかもしれません。

  1. あなたが唯一の私はいつもそれを発明する前に何かを見つけようとお勧めデータベース呼び出し

を必要としているpercents

  • にあなたが設定を読むたびに扱うことができますカップルは背中があるドローより一般的な方法で何かをsimliarする新しいアプリケーションがあります。 django-setman(名前のないファン。そして私は、同様の周り果たしているlive-settingsと呼ばれるより経験豊富なアプリがあります。

  • 1

    は私がhttps://github.com/barbuza/dbconfig

    唯一の違いでそれを確認し、このタスクのためのアプリを持っていますあなたの方法からは、構成セクションをモデルの代わりにフォームとして記述することをお勧めします。

    キャッシュサポートもありますので、設定値の読み取り操作ごとにデータベースにアクセスしません。

    関連する問題