Django模型字段作为模板中的formfield

Django模型字段作为模板中的formfield,django,django-models,django-forms,django-templates,Django,Django Models,Django Forms,Django Templates,我想这是一个简单的问题,但我无法找到一个明确的答案,这是否可能 我有一个模型对象,它在渲染过程中被传递到我的模板。虽然我使用了大多数模型字段来显示它们的值,但我发现需要将其中一些字段显示为formfields(通过ModelForms呈现它们各自的HTML元素)。这里是否可以避免使用ModelForm类,而直接从模板使用要呈现为formfield的模型字段 例如: class MyModel(models.Model): month = models.PositiveIntegerFie

我想这是一个简单的问题,但我无法找到一个明确的答案,这是否可能

我有一个模型对象,它在渲染过程中被传递到我的模板。虽然我使用了大多数模型字段来显示它们的值,但我发现需要将其中一些字段显示为formfields(通过ModelForms呈现它们各自的HTML元素)。这里是否可以避免使用ModelForm类,而直接从模板使用要呈现为formfield的模型字段

例如:

class MyModel(models.Model):
    month = models.PositiveIntegerField(_('Month'), choices=MONTH_CHOICES)
    year = models.PositiveIntegerField(_('Year'))
现在,在基于上述模型示例的模板中,我想将年份显示为一个值,而将月份显示为具有选定当前值的下拉列表

感谢您的指点

用例:

想象一下,在一个类似于列表视图的情况下,您正在呈现一个查询集。您拥有的是每次迭代的对象,但是在列表视图上,您希望允许用户对一些对象属性执行一些快速编辑,以避免强制他们进入完全编辑模式(可能通过简单的ajax)

没有

正如评论中所述,这是不可能的。一个模型,它的字段不知道表单——这就是表单和模型表单的用途

正确的方法是使用modelform包装模型对象,如果希望使其更透明,可以调整(使用继承)modelform以对非表单字段执行任何操作


在模板中创建modelforms意味着您无处在django中处理表单。显然,您希望使用某种ajax接口来连接它们,因此这对您来说可能不是问题,但无论如何,我看不出这比在视图中简单地创建模型表单更容易。

为什么要避免使用
ModelForm
?它是这里的正确工具。modelfoms列表是这里的解决方案。您可以使用
{{form.instance}}
访问模型本身,您将如何处理在模板中创建的表单?好的,您已经呈现了表单,接下来呢?你需要处理它,对吗?要处理表单,您需要查看。在视图中需要一个表单对象。这意味着您需要创建一个表单实例,这里没有过度工程。您是根据我的问题、判断或我在该网站上的声誉点来判断我的sed技能吗?:)朋友,别这么无礼,我真的很感谢你的反馈。我写这篇文章的原因是想看看我是否遗漏了解决这项任务的常用方法。