如何根据TypeChoiceField中的选择显示值

2024-10-03 06:21:52 发布

您现在位置:Python中文网/ 问答频道 /正文

又问了一个Django的问题。我的应用程序看起来不错,但现在是时候添加一些功能了。由于我对Django完全陌生,我似乎不知道如何根据用户的选择在某些字段中显示值。来自Delphi,似乎很难理解Django如何处理这些“查找值”。所以欢迎任何帮助

假设我有一个窗体,它显示一个下拉列表,允许用户从可用单位的下拉列表中选择一个单位。一旦用户从该列表中选择了一个单元,我想在表单的其他一些字段中显示该单元的类型/名称/描述和图像

目前,我已经能够完美地填写列表,但似乎不知道如何从列表中选择项目:

class BaseUnitInputForm(forms.Form):
Name = forms.CharField(
    label="Name",
    max_length=100,
    required=True
)

ParentUnitId = forms.TypedChoiceField(
    label="Parent Unit",
    initial = 0,
    required = True,
)

UnitId = forms.TypedChoiceField(
    label="Indoor Unit",
    choices = [],
    initial = 0,
    required = True,
)

UnitType = forms.CharField(
    label="Indoor Unit Type",
    max_length=100,
    required=True
)

....

def __init__(self, *args, **kwargs):
    super (BaseUnitInputForm, self).__init__(*args, **kwargs)

    choice_list = []

    initial = kwargs['initial']       
    parentunitid  = initial['parentunitid']

    # Available units are fetched from a REST server and filtered on the selected
    # Parent Unit ID
    client = RESTClient()
    availableunits = client.get_availableunits(parentunit.parentunitid)

    for availableunit in availableunits:
        choice_list.append((availableunit.Id, "{0} - {1}".format( availableunit.Series, availableunit.Description ) ) )

    self.fields['UnitId'].choices = choice_list
    self.fields['UnitId'].initial = UnitId

    self.helper = FormHelper()

    ...

所以。。。当用户从UnitId下拉列表中选择一个值时,我想在表单的另一个只读字段中显示相应的序列/描述。你知道我该怎么做吗

提前多谢了


Tags: django用户selftrue列表requiredunitforms
1条回答
网友
1楼 · 发布于 2024-10-03 06:21:52

这需要客户端代码(javascript)才能工作——这是一个web应用程序,因此一旦服务器将HTTP响应返回给客户端,事情就结束了(从服务器的POV就是这样)

相关问题 更多 >