[英]display list item in HTML template
我有 2 個列表,我從我的 python 代碼導入到名為 eligable 和 overTimeHours 的 html 模板。 我嘗試像這樣顯示它們:
<ul>
{% for item in eligable %}
<div class="pad3">
<li>{{item}} - {{item.overTimeHours}}</li>
</div>
{% endfor %}
</ul>
但只顯示 {{item}} 而 {{item.overTimeHours}} 沒有顯示。
這是我的 python 代碼:
def specificDate(response):
empName = employeeName.objects.all
eligable = []
overTimeHours = []
check = False
if 'checkEmployee' in response.POST:
n = response.POST.get("nameEmployee")
specDate = response.POST.get("date")
correctDate = None
try:
newDate = datetime.strptime(specDate, '%Y-%m-%d')
correctDate = True
except ValueError:
correctDate = False
print("This One: ",correctDate)
if correctDate == True:
if employeeName.objects.filter(employee=n).exists() and Name.objects.filter(date=specDate).exists():
check = True
emp = employeeName.objects.get(employee=n)
t = Name.objects.get(name=emp, date=specDate)
overT = Name.objects.filter(name=emp, overtime=True)
for item in overT:
eligable.append(item.date)
totalTime = (datetime.combine(item.date, item.timeOut)- datetime.combine(item.date, item.timeIn)).seconds/3600
hours = int(totalTime)
minutes = (totalTime*60) % 60
seconds = (totalTime*3600) % 60
time = "%d:%02d:%02d" % (hours, minutes, seconds)
overTimeHours.append(time)
checkIn = t.timeIn.strftime("%H:%M:%S")
checkOut = t.timeOut.strftime("%H:%M:%S")
messages.info(response, checkIn + ' - ' + checkOut)
return render(response, "main/specificDate.html", context={"empName":empName, "eligable":eligable, "check":check, "overTimeHours":overTimeHours})
else:
messages.info(response, 'Result does not exist')
else:
messages.info(response, 'Please enter correct input')
else:
pass
return render(response, "main/specificDate.html", {"empName":empName})
在上面的代碼中, eligable和overTimeHours是兩個不同的列表。 您顯示的變量是“item”,它是eligable 的元素,而不是 overTimeHours的元素,反之亦然。
如果要顯示兩個列表中的項目,將有兩個“for 循環”,一個用於eligable ,另一個用於overTimeHours 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.