如何在 Django 表单中将两个表单字段呈现为一个字段?

2024-01-20

我正在开发 Django 应用程序,我需要以不同的方式呈现表单。

该表单包含与一个人相关的多个字段。

 1. Firstname
 2. Lastname
 3. Email
 4. Address
 5. City
 6. Country
 7. Phone
 8. Pincode

我的应用程序中有两个流程。在第一个流程中,我可以渲染所有表单字段并在用户输入一些数据并提交时保存它们。

但在第二个流程中,我只需要显示三个字段,如下所示。

 1. Name - *Combination of Firstname and Lastname*
 2. Email
 3. Phone

名称字段中输入的数据应以空格分隔 -并保存为名字和姓氏。对于表单中未呈现的其他剩余必填字段,我可以填充空值并将模型保存在后端。

为每个流程呈现不同表单的最佳方法是什么?

Python: 3.7.3
Django: 2.1.5

您可以使用请求的 Post / Get 功能。例如:伪代码

def DataView(request):
    if request.method == 'POST':
        form = DataForm(request.POST)
        if form.is_valid():
            form.save()
            return render(request, 'users/form1.html', {'form': form})
        else
            ValidationError(_('Please login-in first'), code='invalid')
    else: 
        #do your magic here. make a new form with limited fields or render this old form on another page where in html you can limit/modify the fields.
        form = DataForm1()
        return render(request, 'users/form1.html', {'form': form})

    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Django 表单中将两个表单字段呈现为一个字段? 的相关文章

随机推荐