我正在使用表单
prefix
在同一模板中渲染相同的 django 表单两次,并避免相同的字段 id。
这样做时,前缀和字段名称之间的分隔符是“-”,我希望它是“_”。
可以吗?
谢谢
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 项目本身中的某些逻辑可能不会使用此方法,而是假设它可以使用连字符。虽然可能大多数此类软件包确实可以修复,但这需要大量工作。