我尝试在Google和这里寻找一些答案,但我真的很难找到任何与我的问题远程相关的东西。 我已经尝试过表单集、模型选择字段等,但没有结果。
所以这里是:我有一个表单,用户可以从中创建具有名称、类别、级别和技能的 NPC(非玩家角色)。 可能的技能数量并不固定,因此 NPC 可以拥有 3 个技能,也可以拥有 10 个技能,具体取决于用户的需求。 是否可以让用户能够动态添加“技能”字段(下拉栏)到此表单,例如使用“添加技能”按钮?
有没有办法使用 Django/Python(包括额外的 django 模块)来做到这一点,或者使用 Javascript 会更容易吗?
非常感谢阅读本文的任何人,以及任何可以为我指明正确方向的有用答案!
最佳答案
https://github.com/elo80ka/django-dynamic-formset
试试这个。
在你的html文件中
<form method="post" action="{{url}}">
{% csrf_token %}
<table>
<thead>
<tr>
<th>Skill</th>
<th class="one"></th>
</tr>
</thead>
<tbody>
{% for form in skill_formset.forms %}
<tr class="check_items_row form_set_row">
<td>
{{form.id}}
<span class="name">
{{ form.name }}
</span>
</td>
<td class="one">{% if form.instance.pk %}{{ form.DELETE }}{% endif %}</td>
</tr>
{% endfor %}
</tbody>
</table>
{{ skill_formset.management_form }}
<div class="m-t-20">
<button type="submit" class="btn btn-info waves-effect">Submit</button>
</div>
</form>
<script type="text/javascript" src="{% static 'js/jquery.formset.js' %}"></script>
$(document).ready(function(){
$('.skill_formset table tr.form_set_row').formset({
prefix: '{{ skill_formset.prefix }}',
formCssClass: 'dynamic-formset1',
});
});
显示的图像来 self 的作品,由 jquery formset 创建。我希望你也想要同样的东西。
关于python - Django 表单中的 "Plus"按钮 : user-added fields possible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43724481/