我已经和Django合作了一段时间了,我想我已经掌握了它。使用模型很容易使用数据库数据。但是,我真的很难找到一种处理数据的方法,因为模型不是真正的选择。例如,我希望在我的主页上有一个“欢迎”文本,该文本应该可以从管理界面进行编辑。其他示例包括联系信息的电子邮件地址,存储在服务器上的文件路径(例如,简历),社交媒体链接......
为这种数据建立模型对我来说似乎没必要,因为表中只有一个条目用于该模型。到目前为止,我一直在使用Constance一段时间,这非常好。但是,我有兴趣了解如何使用“vanilla”Django处理这种数据
答案 0 :(得分:2)
为什么不在您的网站上显示要显示的文字位数的模型。它可以只有一个唯一的名称和一个文本字段。
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")
如果此模型只有一个实例,那么它很好,但它也允许您在数据库中存储其他文本片段,并从代码库的其他部分轻松访问它们。
对于您的其他示例,恢复路径,电子邮件地址,链接,这些听起来好像可能是用户模型上的字段,或者是具有用户外键的单独表。在数据库中存储这样的东西是完全合理的。