簡體   English   中英

在django admin中存儲和編輯全局變量的最佳方法是什么?

[英]What is best way to store and edit global variables in django admin?

什么是在django admin中存儲和編輯全局變量的最佳方法,例如下面的內容,或者有其他更快或更佳的方法呢? models.py:

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,
    }

我有一個用於執行此任務的應用程序,請在https://github.com/barbuza/dbconfig中進行檢查

與您的方式唯一的不同是,我建議將配置節描述為表單而不是模型

它還具有緩存支持,因此您的代碼不會在每次對配置值的讀取操作時接觸數據庫

沒有所有詳細信息,很難確定“最佳方法”,但是您的解決方案可以工作,並且可以滿足您的需求。 一些缺點是:

  1. 您只能處理percents
  2. 每次閱讀設置時,都需要數據庫調用

我總是建議嘗試在發明之前先找到一些東西,並且那里有一個新的應用程序,它可以更通用的方式進行類似的操作。 django-setman (不是這個名字的粉絲。還有一個經驗更豐富的應用程序,稱為live-settings ,我也玩過。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM