Django html页面将不允许发布多个项目

时间:2019-12-05 21:29:21

标签: html django django-views

我有一个html页面,该页面运行一个for循环以在板上填充学生。这是屏幕截图和代码。

问题:问题是,如果我班上有多个学生,无论我单击页面上的哪个按钮,都不会让我执行POST。如果班上只有一个孩子,则POST将起作用。所以帖子失败了,我不知道为什么。我在这里先向您的帮助表示感谢。

Screenshot


{% extends 'base.html' %}
{% load crispy_forms_tags %}
{% crispy K8Points_ClassroomForm %}
{% load static %}
{% block content %}


<br>
<h2>{% load static %}
    <img src="{% static 'forms/star.png' %}" alt="chain" height="62" width="62"> My Classroom</h2>
<br>
<br>


<form action="/points/k8_points_classroom" method="POST">
    {% csrf_token %}
    <!-- Start Date -->
    <div class="container">
        <div class="container">
            <div class='row'>
                <div class="col-4">
                    <p> Recording Data as User : {{user.username}} </p>
                    <p><b> Classroom : {{class_name}} </b></p>
                    </div>
                        </div>
                 <div class='row'>
                    <div class = "col-2">
                        {{form.date|as_crispy_field }}
                           </div>
                           <div class = "col-2">
                        {{form.week_of|as_crispy_field }}
                           </div>
                             <div class = "col-2">
                        {{form.day|as_crispy_field }}
                           </div>

                              </div>
            </div>


            <div class="jumbotron" align="middle">
                <h1>My Students</h1>
                <!-- Line Break -->
                <hr style="border: 1px solid black;"/>
                <!-- Line Break -->

                <div class="row mb-3">
                {% for i in students %}

                        <div class="col-md-4 themed-grid-col"><h2>{{i.student_name}}</h2>
                            <p align="left"> Today's Score: </p>
                            <h4>
                                <button type="button" class="btn btn-primary btn-lg btn-block" data-toggle="modal"
                                        data-target="#PointsBox1">Level Up
                                </button>
                            </h4>
                            <div id="PointsBox1" class="modal fade" role="dialog">
                                <div class="modal-dialog">
                                    <div class="modal-content">
                                        <div class="modal-header">
                                            <img src="{% static 'forms/star.png' %}" align="left" alt="chain" height="42"
                                                 width="42">
                                            <h4 class="modal-title">Points Confirmation </h4>
                                            <button type="button" class="close" data-dismiss="modal"> &times;</button>
                                        </div>
                                        <div class="modal-body">
                                            <h6>
                                                <div class="modal-body">Please add the selected points for the current
                                                    student.</div>
                                            </h6>
                                            <div class="form-row" align='left'>
                                                <div class="col-7">
                                                    {{form.class_name|as_crispy_field }}
                                                    {{form.student_name|as_crispy_field }}
                                                    {{form.time_frame|as_crispy_field }}
                                                </div>
                                            </div>
                                            <div class="form-row">
                                                <div class="col-3" align='left'>
                                                    {{form.behavior|as_crispy_field }}
                                                    {{form.academic|as_crispy_field }}
                                                    <button type="submit" class="btn btn-success"><i
                                                            class="fas fa-star"></i> Level Up
                                                    </button>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="modal-foot"></div>
                                    </div>
                                </div>
                            </div>
     </div>
          </form>       
                {% endfor %}

                {% endblock %}

1 个答案:

答案 0 :(得分:1)

很难确切知道发生了什么,因为尽管您提到“我单击它不会让我执行POST”,但您并未确切提及它会跳出什么错误,或者根本就不会跳出一个错误,但是不会将信息保存在数据库中。

但是,我将从两件事开始:

  1. 您设计的html中存在错误。例如,您在代码的开头打开了form标签,但是随后您运行了{% for i in students %},并在其中for中使用了</form>,这意味着当您拥有几个学生,您的代码将仅具有一个<form>标签,但将具有多个</form>标签(我认为这可能会产生错误)。

  2. 尝试查看request.POST,以查看只有一个用户时与有多个用户时的区别。在将信息保存在数据库中的视图中,使用print(request.POST),可以帮助您进行调试。