如何为模板中的django表单字段赋值?

Tat*_*ibe 8 html python django

我想知道如何为模板中的django表单字段赋值.

我知道还有其他方法可以在django中分配初始值,但是我需要在模板中分配值,因为变量只出现在模板中.

使用普通的html表单执行此操作的方法是:

{% for thing in things %}
  <p> {{ thing.content }} </p>
  <!-- Reply form -->
  <form>
    <input type="hidden" name="replyingto" value="{{ thing.number }}">
    <input type="text" label="Reply"></input>
  </form>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

但是,我需要使用django表单.

我也知道有一种方法可以为模板中的字段分配标签,如下所示:

{{ form.non_field_errors }}
{{ form.field.errors }}
   <label for="{{ form.field.id_for_label }}"> field </label>
{{ form.field }}
Run Code Online (Sandbox Code Playgroud)

所以我的问题基本上是你如何去做上面的例子而不是分配标签,分配一个值.


我找到了解决方案!

我所做的是像Daniel建议的那样手动输入html,然后分配值.

对于那些想知道我是怎么做的人来说,这是一个例子.

Alv*_*vin 3

您可以使用 Python 完成此操作,然后可用于 HTML 表单或生成器

forms.py可以设置initial属性来定义字段的默认值。

前任:name = forms.CharField(initial='class')

或者动态地views.py您可以使用dict.

前任:f = CommentForm(initial={'name': 'instance'})

一旦在实例中可用,form您就可以{{ form.field.value }} 在 HTML 中使用或通过生成器自动使用

扩展参考: https: //docs.djangoproject.com/en/1.10/ref/forms/api/#s-dynamic-initial-values