python - Django 在views.py 中创建表
问题描述
我的views.py中有这段代码,用于创建一些表,如何在不影响学生姓名旁边的ID的情况下删除Average下的ID?
students = StudentSubjectGrade.objects.filter(
grading_Period=period).filter(
Subjects=subject).order_by(
'Students_Enrollment_Records', 'Grading_Categories','id'
).values('id', 'Students_Enrollment_Records__Students_Enrollment_Records__Student_Users__Firstname',
'Students_Enrollment_Records__Students_Enrollment_Records__Student_Users__Lastname',
'Students_Enrollment_Records__Students_Enrollment_Records__Student_Users__Middle_Initial',
'Grading_Categories',
'Average', 'Grading_Categories__PercentageWeight')
Categories = list(cate.values_list('id', flat=True).order_by('id'))
table = []
student_name = None
table_row = None
columns = len(Categories) + 1
table_header = ['Student Names']
table_header.extend(list(cate.values('CategoryName', 'PercentageWeight')))
table.append(table_header)
for student in students:
if not student['Students_Enrollment_Records__Students_Enrollment_Records__Student_Users__Lastname'] + ' ' + \
student[
'Students_Enrollment_Records__Students_Enrollment_Records__Student_Users__Firstname'] == student_name:
if not table_row is None:
table.append(table_row)
table_row = [None for d in range(columns)]
student_name = student[
'Students_Enrollment_Records__Students_Enrollment_Records__Student_Users__Lastname'] + ' ' + \
student['Students_Enrollment_Records__Students_Enrollment_Records__Student_Users__Firstname']
table_row[0] = student_name
id = student['id']
table_row.append(id)
table_row[Categories.index(student['Grading_Categories']) + 1] = student['Average'] * student[
'Grading_Categories__PercentageWeight'] / 100
table.append(table_row)
这是结果,
如何删除平均标题下的额外ID ?
这是我的html
{% for row in table|slice:"1:" %}
<tr class="tr2update">
<td><input type="text" value="{{ row.4 }}" name="studentname">{{ row.0 }}</td>
<td class="tdupdate" hidden><input type="text" hidden></td>
{% for c in row|slice:"1:" %}
<td><input type="text" id="oldgrade" class="oldgrade" name="gradeupdate" value="{{c|floatformat:'2'}}" readonly></td>
{% endfor %}
<td data-id='row' id="ans"><input type='number' class='averages' step="any" name="average" readonly/></td>
</tr>
{% endfor %}
各位大神帮帮忙,这个问题已经快一个星期了,到现在我还没有解决
解决方案
你必须for
在下面写你的循环template
......
{% for c in row|slice:"1:-1" %}
代替
{% for c in row|slice:"1:" %}
推荐阅读
- heroku - ImportError: libGL.so.1 : 访问 Heroku 应用程序时出错
- asp.net-core - 访问我的项目根目录中的文件夹 - ASP.NET Core 3.1
- json - 使用 jq 将一个 JSON 中的值附加到另一个 JSON
- python - 熊猫:从列表中创建数据框,每个元素都有重复的日期
- c# - 如何实现多个 XML 根、多个元素名称
- pdflib - pdflib - 有没有办法判断字体是否支持中文
- html - 如何在引导程序中的两个文本框之间留出空间
- autohotkey - 匹配 AutoHotKey 中按下的两个 shift 键
- android - 使用导航组件以编程方式进入/退出动画
- python-3.x - 如何通过搜索列表中给出的关键字值在 Python pandas 数据框中添加新列?