Django 表单名称作为 HTML 模板中的属性

Posted

技术标签:

【中文标题】Django 表单名称作为 HTML 模板中的属性【英文标题】:Django Form Name as Attribute in HTML Template 【发布时间】:2017-01-31 02:52:37 【问题描述】:

我有一个可以像这样在 html 模板中呈现的对象属性:

 mymodels.something 

在我的例子中,我的表单包含一个名称与“something”相似的输入字段,所以我想在我的模板中运行这样的东西:

% for form in my_form %
 mymodels.form.name  <!-- is same as mymodels.something -->
% endfor %

但无法渲染.. 我该怎么做?

【问题讨论】:

你能解释一下你想做什么吗?因此,您可以获得最好的方法。 就我而言,我的表单包含一个输入字段,其名称为“form.name”,其值与“something”相同。所以如果我写 something ,它将返回与 form.name 相同的值.. 如果我有 params = 'person_name': 'Faizalprbw' 并将它们传递给模板,如果我们使用 person_name ,它将打印您的姓名。 我知道了,可以参考这个844746 【参考方案1】:

表单是在客户端收集数据的东西 - 将其发送到服务器端,服务器端对其进行验证并对其进行处理(例如写入模型,或者可能将其传递回下一次渲染的上下文中)。

当您的模板被渲染时,它也会渲染您的表单(构建标记,提供初始值) - 当模板引擎完成它的工作时,HTML 代码被发送到浏览器。

如果你想在渲染时访问表单数据,总会有相同的值:初始值。这没有多大意义。因为您可能只是将相同的数据传递到您的渲染上下文并从那里使用它。

阅读docs 以获取有关表单的更多信息,尤其是rendering fields manually 部分,如果您的问题针对这个方向,您可能会感兴趣。

【讨论】:

以上是关于Django 表单名称作为 HTML 模板中的属性的主要内容,如果未能解决你的问题,请参考以下文章

使用更改 django 模板中表单字段的名称属性

Django模板表单中的变量“名称”

访问模板化 Django 中的表单字段属性

ajax html响应中的AngularJs数据绑定

Django:在带有前缀的模板中显示表单名称

从 Django HTML 表单中检索数据并将其传递给 MySQL 数据库