编辑模板上的表单字段值

Posted

技术标签:

【中文标题】编辑模板上的表单字段值【英文标题】:Edit form field value on template 【发布时间】:2017-10-20 14:57:28 【问题描述】:

我正在尝试在 django 模板中编辑表单字段的值。我已经尝试了很多东西。我认为以下应该有效:

% with form.name.value="asdsad" %

    form.name

% endwith %

但它会出现以下错误:u'with' expected at least one variable assignment

似乎没有任何效果。这样做的正确形式是什么?

【问题讨论】:

django 模板不能像那样修改对象值。理想情况下,您应该在视图中执行此操作。 @karthikr 有没有办法专门编辑表单字段值? 为什么不使用 jquery 替换文档加载时的字段值? 您是否希望默认值显示为asdsad,并且用户在需要时对其进行编辑?如果是这样,请查看在表单字段中添加默认值。 @karthikr 我想更改为字典中的值。我使用asdasd 进行演示。但即使我使用default 过滤器,它也只显示value 字段而不是孔表单字段。 @Exprator 我只对 Django 模板选项感兴趣。 【参考方案1】:

您可能必须使用 jQuery。表单域可以被id = id_fieldname引用。然后,您可以使用$('#id_fieldname).attr("value", new_value) 更改属性值。

假设我想编辑表单的name 字段,

<script>
    var name_object = $('#id_name');
    var current_name = name_object.val();
    var new_name = "new_name"
    name_object.attr('value',new_name);
</script>

html 的输入标签的 id 总是id_fieldname。这里,fieldname 是模型中给出的名称。

【讨论】:

以上是关于编辑模板上的表单字段值的主要内容,如果未能解决你的问题,请参考以下文章

根据值在 Admin 中自定义 Django 表单字段

使用自定义模板时 Django 表单字段的初始值

如何在奏鸣曲编辑表单中显示字段值?

如何在渲染django模板时动态设置表单选择字段的初始值

自定义表单域渲染

为啥我不能阻止用户编辑 PrimeNG 表单字段值?