Django:交易向导和自动识别码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django:交易向导和自动识别码相关的知识,希望对你有一定的参考价值。

假设我在表单中有一个名为address_line_1的字段,一旦我渲染它就会生成如下:

<input id="id_1-address_line_1" type="text" name="1-address_line_1">

我在不同的页面使用此表单,但它没有一致性,一个生成为id_1-address_line_1而另一个相同的形式在另一个视图id_1-address_line_1因此它hurty我的javascript方面。如何删除id_X部分,以使渲染的id与字段名称address_line_1具有完全相同的名称

答案
FormClass(prefix="prefix_to_display")
另一答案

你可以使用id_参数摆脱auto_id。在您的视图类中:

def get_form_kwargs(self, step=None):
    kwargs = super().get_form_kwargs(step)
    kwargs['auto_id'] = True
    return kwargs

为了摆脱X-,你必须手动渲染字段。这可以使用自定义模板或字段定义来完成:

address_line_1 = forms.CharField(
    widget=forms.TextInput(attrs={'id': 'address_line_1'})
)

以上是关于Django:交易向导和自动识别码的主要内容,如果未能解决你的问题,请参考以下文章

Django 表单向导调度程序

如何膨胀由 Android Studio 向导在 Activity 中创建的片段(列表)?

在 django 表单向导中使用不同的模板

需要澄清使用 Django 1.4 表单向导,特别是预填充和保存

Django 表单向导备份和恢复

django 向导,在同一步骤中使用表单和表单集