用的是python+django,如何将表单中表格数据提交到view中处理。

我实现的是一个课程评价页面,但如何将评价信息通过form提交到django的view中呢?
评价页面如下:
图片描述

此页面源码中怎样获取表格中的所有评价信息,使用request.POST['crseEval']只能获取一行数据。我使用request.POST输出时可显示评价列所有信息,但具体使用request.POST['crseEval']却只能有一个评价信息。

<form action='{% url "eval" evalStuId %}' method="post" role="form">
                        {% csrf_token %}
                        <table class="table">
                            <thead>
                                <tr>
                                    <th>
                                        课程编号
                                    </th>
                                    <th>
                                        名称
                                    </th>
                                    <th>
                                        任课教师
                                    </th>
                                    <th>
                                        评价
                                    </th>
                                </tr>
                            </thead>
                            <tbody>
                            {% for i in content %}
                                <tr class="success" name={{i.crseId}}>
                                    <td>
                                        {{ i.crseId }}
                                    </td>
                                    <td>
                                        {{ i.crseName }}
                                    </td>
                                    <td>
                                        {{ i.crseTeacher }}
                                    </td>
                                    <td>
                                        <div>
                                            <div >
                                                <select name="crseEval">
                                                    {% for eval in evalList %}
                                                    <option value={{eval}}>{{eval}}</option>
                                                    {% endfor %}
                                                </select>
                                            </div>
                                        </div>
                                    </td>
                                </tr>
                            {% endfor %}
                            </tbody>
                        </table>
阅读 3.9k
1 个回答
✓ 已被采纳新手上路,请多包涵

折腾了半天算是解决了,reqeust.POST[key]在queryDict中只能获取最后一个值,getlist(key)则可获取所有的值。
对于获取表格中的值,可通过先获得指定顺序评价信息,又因评价页面显示课程的顺序与查询数据库中指定课程的顺序相同,因此可通过在view层中将课程信息与评价信息通过zip组合进行迭代,修改课程表中的评价信息通过save()保存指定记录即可。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题