Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在django admin中存储和编辑全局变量的最佳方法是什么?_Python_Django - Fatal编程技术网

Python 在django admin中存储和编辑全局变量的最佳方法是什么?

Python 在django admin中存储和编辑全局变量的最佳方法是什么?,python,django,Python,Django,在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'

在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,
    }
如果没有所有细节,很难确定“最佳方式”,但您的解决方案会起作用,并且可能满足您的需求。以下是几项撤回:

  • 您只能处理
    percents
  • 每次读取设置时,都需要数据库调用
  • 我总是建议在发明之前尝试寻找一些东西,现在有一个新的应用程序,它以更普通的方式做一些类似的事情。(不喜欢这个名字。还有一个更有经验的应用程序,我也曾使用过。

    如果没有所有细节,很难确定“最佳方式”,但您的解决方案会起作用,可能会满足您的需要。有几点值得注意:

  • 您只能处理
    percents
  • 每次读取设置时,都需要数据库调用

  • 我总是建议在发明之前尝试寻找一些东西,有一个新的应用程序以更普通的方式做一些类似的事情。(不喜欢这个名字。还有一个更有经验的应用程序,我也玩过它。

    我有一个用于此任务的应用程序,请访问

    与您的方式唯一不同的是,我建议将配置部分描述为表单而不是模型


    它还具有缓存支持,因此每次读取配置值时,您的代码都不会触及数据库

    我有一个用于此任务的应用程序,请访问

    与您的方式唯一不同的是,我建议将配置部分描述为表单而不是模型

    它还支持缓存,所以您的代码在每次读取配置值时不会触及数据库