微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django-在视图中处理多个表单请求

如何解决Django-在视图中处理多个表单请求

我有一个模型(称为模块),管理员可以在其中添加新模块。在模板中,用户可以将模块移动到我使用gridstack.js处理的不同位置。我有一个保存按钮,以便用户可以保存布局,但是会出现错误 views.py仅处理一个请求 我所做的就是向views.py

添加了多种形式
def index(request):
    modules = Module.objects.filter(active=True)
    module1 = Module.objects.get(id=1)
    module2 = Module.objects.get(id=2)
    form = Module_form(instance=module1)
    form2 = Module_form(instance=module2)
    if request.method == 'POST':
        form = Module_form(request.POST,instance=module1)
        form2 = Module_form(request.POST,instance=module2)
        if form.is_valid() and form2.is_valid():
            form.save()
            form2.save()


    return render(request,'main/index.html',{
        'modules': modules,'form': form,'form2': form2,})

如果我提交表单,则第一个表单将获得与form2相同的值。如何在一个视图中发送多个请求?结果应如下所示:

enter image description here

index.html

...
  <form action="" method="POST">
    {% csrf_token %}
    {{ form }}
    <br>
    <br>
    {{ form2 }}
    <div class="grid-stack">
      {% for data in modules %}
      <div class="grid-stack-item" data-gs-x="{{ data.x }}" data-gs-y="{{ data.y }}"
        data-gs-min-width="{{ data.min_width}}" data-gs-min-height="{{ data.min_height}}" data-gs-width="{{ data.width }}" data-gs-height="{{ data.height }}" id="{{ data.id }}">
        <div class="grid-stack-item-content">{{ data.content|safe }}</div>
      </div>
      {% endfor %}
    </div>
    <input onclick="saveData()" type="submit" value="Einstellungen">
  </form>

Javascript函数saveData()正确格式化了数据,如果我只运行该函数,则可以在表单输入中看到正确的值。这不是问题。

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。