python - Django 动态添加字段而不创建新的模型实例
问题描述
我正在尝试创建一个允许某人输入多个电话号码的表单。我想让单击一个按钮向表单添加一个附加字段成为可能,但我不太确定如何做到这一点。
我查看了FormSet
s 但我不想每次有人添加新电话号码时都创建一个新模型实例。
提前致谢
解决方案
一种方法是,您可以考虑使用ArrayField
或JSONField
作为电话号码。如果您希望始终能够轻松引用数字,后者可能会更有用,例如
{'primary_no': '+123232323'}
然后对于前端,您可以使用带有 Javascript 的按钮来“克隆”input
元素(或者更好地创建一个具有相同类名的新元素)并将其附加到电话号码包装 div 上click
。但是您需要注意使用与checkbox
元素相同的字段名称,例如
<input type="text" name="phone_number[]" />
这将使这些字段的值在数组中发送request.POST.getlist('phone_number[]')
,然后您可以循环并验证。我在这里省略了细节,但这应该会给你一个想法。
推荐阅读
- karate - 空手道 API 测试 - 当 Content-Type 为 application/jwt 时,API POST 请求无法发送正文
- multithreading - JavaFX MediaPlayer - 更新标签以显示线程/任务中的“当前时间”
- docker - 如何设置 nginx-proxy 以选择正确的容器而不需要端口号
- remote-access - 如何在serveo上运行本地项目
- python - 如何从python目录中打开一个随机文件?
- javascript - 如何将附加字段与 FormData 中的文件相关联
- java - Spring Data Mongo @Indexed 多次创建索引
- algorithm - 检查新边是否会使 DAG 循环
- powershell - Powershell 从远程主机获取变量值
- terminal - 在命令前添加即时 DNS 解析