Django - 更改表单前缀分隔符

问题描述 投票:0回答:1

我正在使用表单

prefix
在同一模板中渲染相同的 django 表单两次,并避免相同的字段 id。

这样做时,前缀和字段名称之间的分隔符是“-”,我希望它是“_”。

可以吗?

谢谢

python html django prefix separator
1个回答
0
投票

您可以 "monkey patch[wiki]

BaseForm
代码,例如在某些
AppConfig
:

# app_name/config.py

from django.apps import AppConfig


class MyAppConfig(AppConfig):
    def ready(self):
        from django.forms.forms import BaseForm

        def add_prefix(self, field_name):
            return f'{self.prefix}_{field_name}' if self.prefix else field_name

        BaseForm.add_prefix = add_prefix

但我建议不要这样做。这通常会生成带有下划线的正确前缀。但某些 Django 应用程序或 Django 项目本身中的某些逻辑可能不会使用此方法,而是假设它可以使用连字符。虽然可能大多数此类软件包确实可以修复,但这需要大量工作。

© www.soinside.com 2019 - 2024. All rights reserved.