0

我正在使用 Django formttools 创建一个多步向导。在其中一种形式中,我有一个问题选项,用户需要根据需要添加尽可能多的问题。我已经通过Django Dynamic Formset实现了动态表单集,但是尽管我的模板中有 {% csrf_token %} 我仍然遇到 CSRF 问题。这是我的模板:

 {% block content %}
  <p>Step {{ wizard.steps.step1 }} of {{ wizard.steps.count }}</p>
  <form action="" method="post" enctype="multipart/form-data" id="job-question">{% csrf_token %}
    <table>
    {{ wizard.management_form }}
{% if wizard.form.forms %}
    {{ wizard.form.management_form }}
    {% for form in wizard.form.forms %}
        {{ form }}
    {% endfor %}
{% else %}
    {{ wizard.form }}
{% endif %}
</table>
{% if wizard.steps.prev %}
<button name="wizard_goto_step" type="submit" value="{{ wizard.steps.first }}">{% trans "first step" %}</button>
<button name="wizard_goto_step" type="submit" value="{{ wizard.steps.prev }}">{% trans "prev step" %}</button>
{% endif %}
<input type="submit" value="{% trans "submit" %}"/>


</form>

<script type="text/javascript" src="{% static 'js/jquery-min.3.4.1..js' %}"></script>
<script type="text/javascript" src="{% static 'js/jquery.formset.js' %}"></script>
<script type="text/javascript">
    $(function() {
        $('#job-question').formset();
    })
</script>
{% endblock %}
4

1 回答 1

0

我设法通过将每个表单及其 id 传递给动态 formset JS 函数来处理这个问题。这样验证就完全完成了。

于 2020-03-23T08:40:57.997 回答