javascript - 动态更新模型
问题描述
我有一个很好用的注册表单。它的一个特点是用户可以按“添加更多+”并创建更多相同的“工具”和“级别”选择字段。该模型仅保存第一个“仪器”和“级别”字段,而不是从 javascript 函数创建的其他字段。调用 javascript 函数时,如何调整模型以创建更多字段?我很感激我得到的任何帮助。
模型.py
class User(AbstractBaseUser):
instrument = models.CharField(max_length=255, choices=instrument_list)
level = models.CharField(max_length=255, choices=level_list)
HTML
<div>
<div class="items">
<div id="ins">
<div>
{{ form.instrument }}
</div>
<div>
{{ form.level }}
</div>
</div>
</div>
<div id="add_more">
<button type="button" class="no_link" onclick="add_instrument()">Add more +</button>
</div>
</div>
Javascript
var i = 0;
var original = document.getElementById('ins');
function add_instrument() {
var clone = original.cloneNode(true);
clone.id = "ins" + ++i;
original.parentNode.appendChild(clone);
}
解决方案
您正在寻找的是 Django 表单集,以便动态添加或删除表单。想想,形式的一种形式。这是 Django 关于它的文档:https ://docs.djangoproject.com/en/2.0/topics/forms/formsets/ 以及我用来理解和创建表单集的两个很好的教程:
推荐阅读
- oauth - OAuth 使用 Twitter 登录
- django - 无法弄清楚我在这里错过了什么,它说“列表”不是一个有效的功能。任何帮助,将不胜感激
- bash - npm 安装进度条未显示在 docker 容器中
- mysql - 获取 DatabaseError [SequelizeDatabaseError],不正确的整数值
- java - Which method of document snapshot field access is faster in Firestore?
- javascript - 如何检查网站显示的真假?
- ssl - Letsencrypt / nginx:SSL 配置出错
- oracle - ORACLE 数据库 - 为什么 SYS 用户可以删除表但不能删除列?
- html - 你如何让导航栏与标志平行?
- python - 有没有办法创建一个可以用作计数器的列表?