【问题标题】:Django Form Name as Attribute in HTML TemplateDjango 表单名称作为 HTML 模板中的属性
【发布时间】: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

标签: django forms django-forms django-templates


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2012-08-10
    • 2011-06-26
    • 2011-09-01
    • 2016-06-02
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    相关资源
    最近更新 更多