首页 > 解决方案 > 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 %}

各位大神帮帮忙,这个问题已经快一个星期了,到现在我还没有解决

标签: pythondjango

解决方案


你必须for在下面写你的循环template......

{% for c in row|slice:"1:-1" %}

代替

{% for c in row|slice:"1:" %}

推荐阅读