Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:如何处理不符合';我不适合做模特_Python_Django - Fatal编程技术网

Python Django:如何处理不符合';我不适合做模特

Python Django:如何处理不符合';我不适合做模特,python,django,Python,Django,我已经和Django一起工作了一段时间,我想我已经掌握了窍门。使用模型处理数据库数据非常容易。然而,我真的很难找到一种处理数据的方法,因为制作模型并不是一种真正的选择。例如,我想在我的主页上有一个“欢迎”文本,可以从管理界面编辑。其他例子包括联系信息的电子邮件地址、服务器上存储的文件(如简历)路径、社交媒体链接等等 对我来说,为此类数据创建模型似乎没有必要,因为该模型的表中只有一个条目。到目前为止,我已经使用了一段时间,这是相当不错的。然而,我很想知道我应该如何使用“香草”Django处理此类数

我已经和Django一起工作了一段时间,我想我已经掌握了窍门。使用模型处理数据库数据非常容易。然而,我真的很难找到一种处理数据的方法,因为制作模型并不是一种真正的选择。例如,我想在我的主页上有一个“欢迎”文本,可以从管理界面编辑。其他例子包括联系信息的电子邮件地址、服务器上存储的文件(如简历)路径、社交媒体链接等等


对我来说,为此类数据创建模型似乎没有必要,因为该模型的表中只有一个条目。到目前为止,我已经使用了一段时间,这是相当不错的。然而,我很想知道我应该如何使用“香草”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")
如果这个模型只有一个实例就可以了,但它也允许您在数据库中存储其他文本片段,并可以轻松地从代码库的其他部分访问它们


对于您的其他示例,简历路径、电子邮件地址、链接,这些听起来都像是用户模型上的字段,或者是带有用户外键的单独表。将这样的内容存储在数据库中是完全合理的。

设置模块看起来是一个很好的地方,但这意味着我必须在每次编辑(例如欢迎文本)时提交/上传/重新部署我的网站。这听起来很合理,但是否意味着“Django做事方式”始终依赖于为任何类型的可编辑数据创建模型?模型只是数据库的接口。数据库是存储在站点正常运行过程中可能更改的数据的地方。所以,是的,您通常会为任何可能更改的数据创建模型。显然,还有其他方法可以保存和编辑数据。例如,模板使用文件系统。然而,模型的优点在于:(1)所有的django工具都可以在模型上运行,比如管理站点;(2)数据库非常擅长持久化和编辑数据。但是我应该把这样的模型放在哪里呢?它并不特别属于我已经拥有的任何现有应用程序。因此可能会有一个新的应用程序?是的,你可能会想要一个新的应用程序。当我开始使用django时,我总是很犹豫是否要启动新的应用程序,但使用它一段时间后,我意识到创建一个新的应用程序,即使是很小的一部分功能,也不是一件坏事。