Django 表单前缀分隔符连字符到下划线

Django form prefix separator hyphen to underscore

django-formtools 的命名过程似乎破坏了访问会话数据中变量的能力。

我命名为 patient_details 的表单,但它的字段被 - 例如 patient_details-upper_arch 分隔。我正在尝试访问会话数据,以根据第一个表单中的选择在向导中进一步操作表单。但是,当尝试访问 {{ ...patient_details-upper_arch }} 时,它会抛出 TemplateSyntaxError Could not parse the remainder: '-upper_arch' from ...patient_details-upper_arch

有没有一种方法可以将分隔符设置为下划线以使该变量在模板中可访问,或者有其他方法可以解决这个问题?

我用 simple_tag 自定义标签解决了这个问题。

from django import template

register = template.Library()

@register.simple_tag
def get_session_formwizard_variable(session, key):
    return session.get(key, '')