向 Django 添加文本区域的正确方法是啥?
Posted
技术标签:
【中文标题】向 Django 添加文本区域的正确方法是啥?【英文标题】:What is the right method to add text areas to Django?向 Django 添加文本区域的正确方法是什么? 【发布时间】:2019-01-06 15:29:30 【问题描述】:我编写了分析两个文本源并比较它们的 python 代码。
我想通过用户可以输入或手动上传的两个文本框动态地实现这一点。我已经开始使用 html 进行编码。实现一个小部件或模型而不是制作文本区域框会更好吗?
编辑:
当我刚刚弄清楚 Django 时,我写了这个问题,如果这听起来令人困惑,请原谅我。但每个人都从某个地方开始。我无法删除这个问题,因为已经做出了贡献。 YouTube 课程被证明有助于学习基础知识,如果有初学者偶然发现的话。
【问题讨论】:
这有点模糊,很遗憾。 “实施模型”是什么意思?您不会在 html 上实现模型。您实现字段,然后使用这些字段在后端创建模型实例。模型是抽象,文本框是数据/输入的具体字段。 我的意思是你可以使用模型来初始化一个文本区域,根据网站的文档。 @IanKirkpatrick 【参考方案1】:您使用表单对象。 Django 有表单对象 (https://docs.djangoproject.com/en/2.0/topics/forms),它们采用模型并将其转换为 html 元素。所以我想在某种程度上,你实现了这个模型,但我想强调的是,从技术角度来看,这实际上并不是正在发生的事情。更好的说法是您正在实施表单。我如此强调这一点的原因是为了让您了解真正发生的事情,这样您就不会产生误解,最终导致您在代码清晰度和可读性方面付出代价。
所以要回答你的问题,你可以很容易地实现 django 表单来做到这一点。您实现它的方式取决于您的模型以及它们的设计方式,因为表单使用模型来创建正确的 html 表单元素。如果您正在处理一个将由表单输入实例化的模型,请创建一个模型表单。这将从表单中获取输入并创建您的模型实例。如果您正在处理一个使用多个模型的表单,请使用通用表单。在这种情况下,您必须编写自己的保存方法来执行表单的实际逻辑。
要添加的另一件事...无论如何,您的最终结果将始终是 HTML 上的小部件。 Django 表单将模型类转换为带有输入元素的表单元素。如果您不使用 Django 表单,您仍然可以进行翻译,但您必须从头开始。
我希望这会有所帮助,并且我正确理解了您的问题。
【讨论】:
以上是关于向 Django 添加文本区域的正确方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章