设置文件的变量从Django中的数据库管理

时间:2019-06-21 19:13:08

标签: python django

是否可以在Django中从数据库动态加载变量的值?

我是Django的新手。我试图通过管理面板将此值赋予此settings.py的文件变量。

models.py

from django.db import models

class Person(models.Model):
    RECAPTCHA_PUBLIC_KEY = models.CharField(max_length=100)
    RECAPTCHA_PRIVATE_KEY = models.CharField(max_length=100)

settings.py


RECAPTCHA_PUBLIC_KEY = '' #How to set this value from admin panel dynamically
RECAPTCHA_PRIVATE_KEY = ''

我必须在项目中安装“ captch”应用程序,因此,需要设置必要键的值,但是我试图从数据库中设置该值。我可以从数据库中更改值吗?(如果您有新的想法可以动态地实现这一点,请也建议我。)

谢谢。

1 个答案:

答案 0 :(得分:0)

  

是否可以在Django中从数据库动态加载变量的值?

是的。您可以在运行时通过管理界面使用django-constance之类的应用来支持动态设置。

但是,我认为从您的模型中看不出来这就是您要尝试执行的操作。如果每个Person实例的Recaptcha键都不相同,那么这些根本不是设置(或常量),它们只是按人值,应将其视为普通模型字段。

如果每个Person可以拥有自己的键,但是系统 还需要默认值以用于没有键的Person实例,那么将一组键存储为设置,并且每个人的设置可能会有所不同(尽管当前的模型编写方式不是这样,因为这些关键字段不可为空)。