django как отобразить идентификатор для элемента в html? {{object.id}} не работает, почему? - PullRequest
0 голосов
/ 01 марта 2020

Надеюсь, заголовка достаточно, чтобы понять, в чем заключается моя проблема, она сложна для меня, потому что я создаю таблицы с помощью views.py,

, это мои views.py

students = studentsEnrolledSubjectsGrade.objects.filter(Subjects__in = student_subject.values_list('id')).filter(grading_Period=period).filter(Grading_Categories=category).order_by(
    'Students_Enrollment_Records', '_dates'
).values('id','Students_Enrollment_Records__Students_Enrollment_Records__Student_Users__Firstname', 'Students_Enrollment_Records__Students_Enrollment_Records__Student_Users__Lastname' ,'_dates','Grade').distinct()


dates = list(students.values_list('_dates', flat=True).distinct().order_by('_dates'))

table = []
student_name = None
table_row = None
columns = len(dates) + 1

table_header = ['Student Names']
table_header.extend(dates)

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
                table_row[dates.index(student['_dates']) + 1] = student['Grade']
            table.append(table_row)

это мой html

<tr>

    {% for v in table.0 %}
        {% if forloop.first %}
            <th id="thupdate">{{v}}</th>
        {% else %}
            <th ><input type="text" name="updatedate" value="{{ v }}"></th>
        {% endif %}
    {% endfor %}
    <th  hidden></th>
    <th data-id='headerss' id='headerave'>Average</th>
</tr>

<tbody>

{% for row in table|slice:"1:" %}
    <tr class="tr2update">
        <td>{{ row.0  }}{{row.id}}</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}}">{{c.id}}</td>
        {% endfor %}
        <td data-id='row' id="ans"><input type='number' class='averages' step="any" name="totalaverage" readonly/></td>
    </tr>
 {% endfor %}
</tbody>

Я просто хочу отобразить ID студентов EnrolledSubjectsGrade в моем html,

Я пытался это

table_row[dates.index(student['_dates']) + 1] = student['Grade'], student['id']

id и оценка учащегося только что добавили

Вот как это выглядит, когда я удаляю student ['id'] в table_row [date.index (student [' _dates ']) + 1] = студент [' класс '], студент [' id ']

without student['id']

это то, что я хочу

what i wanted result

У меня есть это к моему HTML

{% for row in table|slice:"1:" %}
        <tr class="tr2update">
            <td>{{ row.id  }}</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.id}}"></td>
            {% endfor %}
            <td data-id='row' id="ans"><input type='number' class='averages' step="any" name="totalaverage" readonly/></td>
        </tr>
     {% endfor %}

это не добавляет, я не знаю, что происходит, это Жук? или что-то? пожалуйста, скажите мне

1 Ответ

1 голос
/ 02 марта 2020

Вы можете добавить его в HTML

        {% for c in row|slice:"1:" %}
           <td><input type="text" id="oldgrade" class="oldgrade" name="gradeupdate" value="{{c}}">{{row.id}} of this {{c.id}}</td>
        {% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...