我使用 Django 已经有一段时间了,我想我已经掌握了它的窍门。使用模型处理数据库数据非常容易。但是,我真的很难找到一种方法来处理数据,而制作模型并不是真正的选择。例如,我想在我的主页上有一个“欢迎”文本,它应该可以从管理界面编辑。其他示例包括用于联系信息的电子邮件地址、存储在服务器上的文件(例如简历)的路径、社交媒体链接……
对我来说似乎没有必要为这种数据建立模型,因为该模型在表格中只有一个条目。到目前为止,我一直在使用 Constance有一段时间,这很好。但是,我很想知道我应该如何使用“vanilla”Django 处理此类数据
请您参考如下方法:
为什么不在您的站点上显示一些文本呢?它可以简单地具有一个唯一的名称和一个文本字段。
from django.db import models:
class SiteText(models.Model):
name = models.CharField(max_length=64, unique=True)
text = models.TextField
然后很容易在管理面板或代码中创建一些简单的文本:
SiteText.objects.create(name="greeting", text="Welcome to my site!")
从您的网站访问它非常简单:
SiteText.objects.get(name="greeting")
如果此模型只有一个实例也没关系,但它还允许您将其他文本片段存储在数据库中,并从代码库的其他部分轻松访问它们。
对于您的其他示例,简历路径、电子邮件地址、链接,这些听起来都像是用户模型上的字段,或者是带有用户外键的单独表。在数据库中存储这样的东西是完全合理的。
