在 django 中创建配置模型,例如站点外观 ||设置?

问题描述 投票:0回答:1

iam 使用 django 创建电子商务网站 我正在尝试使我的网站样式和组件动态化以及一些设置 我想知道我怎样才能做到这一点? 这样更清楚:

class SiteAppearance(models.Model):
    headerType = models.Choices('some choices')
    mainPagesStyle = models.Choices('some choices too')
    mainColor = models.CharField(max_length=100)
    enableBlog = models.BooleanField(default=False)
    enableShop = models.BooleanField(default=False)
    recommendedPaymentMethod = models.CharField(max_length=100)

class SiteSettings(models.Something):
  # some fields

我想要这个模型,所以它不能被创建多次 有可能吗?

我尝试过做这样的事情:

siteAppearance .objects.create(some fields)
appearance = siteAppearance.objects.get(pk=1)
siteSettings.objects.create(some fields)
site_settings = siteSettings.objects.get(pk=1)

但我不认为这是一种有效的方法:)

像这样处理数据

https://i.sstatic.net/V0w6VBIt.png

django django-models
1个回答
0
投票

您可以添加一个模型并修改

save
方法,以便它不允许添加多个记录 - 或者只是禁用在网站上任何位置添加记录的功能。

就我个人而言,如果这是您要保存的站点设置,那么它就是配置 - 我要么将其与用户配置文件关联,要么在启动时从 yaml/toml/json 加载它并将其保存在设置中的数据类中。

如果您详细说明您正在考虑的确切用例,也许我可以稍微完善答案......

© www.soinside.com 2019 - 2024. All rights reserved.