5

我是 django 的新手,我认为这是一个非常基本的问题。

假设我有这个主题:

在此处输入图像描述

我已经做了一个项目,所以我知道如何为动态内容构建模型,将它们传递给视图和管理面板等,但是:

问题:在上图中,我标记了 3 个包含文本的容器。整个网站上只有一个文本实例,并且不可重复。如果我为自己开发,我只会硬编码,但如果我为客户开发,谁需要能够使用管理面板编辑这些字段?

我是否应该为整个网站的此类容器创建一个包含多个(比如说 20 个)字段的单独类,在视图中传递该类(并使用 过滤[:1])以在模板中使用它?

那是我唯一想到的。虽然它会起作用,但我认为这是一个糟糕的解决方案。

4

2 回答 2

4

我要做的是编写一个模型,其中包含一个TextField用于插入的简介和一个CharField用于识别它的模型,以及一个自定义模板标记,该标记通过您传递给它的参数从数据库中读取简介。

class Blurb(models.Model):
  ident = models.CharField(..., db_index=True)
  blurb = models.TextField(...)

PK  ident  text
1   main   Hey! Do you like this template? This...

{% load blurb %}
 ...
{% blurb main %}
于 2012-09-24T00:49:32.533 回答
2

您可以有 1 个模型,其选择字段包含模型中文本的描述符。

就像是:

class SomeText(models.Model):
    position = models.CharField(max_length=120, choices=POSITION_DESCRIPTORS)
    text = models.TextField()
于 2012-09-24T00:51:29.530 回答