Django views.py if statement не передает значение в HTML-файл

На моей странице Django views.py есть код, где пользователь вводит ID сотрудника с помощью HTML-формы, которая отправляет значение в views.py. Используя его, я проверяю, есть ли ID сотрудника в базе данных, перебирая каждый ID в базе данных, добавляя его в пустой list и используя оператор if. Часть, где я получаю ID сотрудника, работает нормально, и ID добавляется в list. Однако, когда я использую оператор if для проверки того, является ли полученный ID сотрудника частью списка, он не работает. Несмотря на то, что это работает в Jupyter Notebook, когда я тестировал то же самое.

Вот код:
views.py:

from django.shortcuts import render
import pandas as pd


dat = pd.read_csv('/Users/Lenovo/Desktop/Cakewala DB/CW_Attendance/AttendanceApp/test_employee.csv')

# Create your views here.
def home(request):
    employee_id = request.POST.get('id')

    print(employee_id)

    id_list = []
    for id in dat["ID"]:
        id_list.append(id)

    print(id_list)

    if employee_id in id_list:
        print("yes")
        employee_row = dat.loc[dat["ID"] == employee_id]
        employee_name = employee_row.iat[0, 1]
        return render(request, 'attendance/index.html', {
            "employee_id": employee_id,
            "employee_name": employee_name
        })

    return render(request, 'attendance/index.html')

index.html:

<!DOCTYPE html>
<html>
    <head>
        <title>Attendance - Home</title>
    </head>
    <body>
        <h1>Cakewala Attendance</h1>
        <form method="POST">
            {% csrf_token %}
            <label for="id">Employee ID</label> <br>
            <input type="number" name="id" max="9999" min="1000">
            <input type="submit" id="submit-btn"> <br>
            <p id="name">{{ employee_id }}: {{ employee_name }}</p>
            <input type="checkbox">
        </form>
    </body>
</html>

test_employee.csv:

ID, NAME
1001, John Doe
1002, Jane Doe

Command Line Output when I pass employee ID as 1001:

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
April 15, 2022 - 13:22:00
Django version 4.0.4, using settings 'CW_Attendance.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
1001
[1001, 1002]
[15/Apr/2022 13:33:17] "POST / HTTP/1.1" 200 598

Мне нужно отобразить ID и имя сотрудника в HTML файле, любая помощь будет очень признательна!

Попробуйте это

dat = pd.read_csv('/Users/Lenovo/Desktop/Cakewala DB/CW_Attendance/AttendanceApp/test_employee.csv')

def home(request):
    employee_id = request.POST.get('id',None)
    print(employee_id)
    if employee_id is not None:
        for id,name in zip(dat["ID"],dat["NAME"]):
            if id == employee_id:
                return render(request, 'attendance/index.html', {
                    "employee_id": id,
                    "employee_name": name,
                    "is_result":True
                    })
        return render(request, 'attendance/index.html', {
            "employee_id": employee_id,
            "employee_name": "No user Found with that ID",
            "is_result":True
            })
        
      

    return render(request, 'attendance/index.html',{'is_result':False})

Шаблон

<!DOCTYPE html>
<html>
    <head>
        <title>Attendance - Home</title>
    </head>
    <body>
        <h1>Cakewala Attendance</h1>
        <form method="POST">
            {% csrf_token %}
            <label for="id">Employee ID</label> <br>
            <input type="number" name="id" max="9999" min="1000">
            <input type="submit" id="submit-btn"> <br>
            <input type="checkbox">
        </form>
    {% if result %}
<p id="name">{{ employee_id }}: {{ employee_name }}</p>
    {% endif %}
    </body>
</html>
Вернуться на верх