我設置了一個字段,用戶可以在其中選擇日期范圍(開始,結束):
if request.method == 'POST':
fecha = (request.POST.get('datefilter')).split(' - ')
start = datetime.strptime(
fecha[0].strip(), "%Y-%m-%d").date()
end = datetime.strptime(
fecha[1].strip(), "%Y-%m-%d").date()
當我在選擇日期范圍后打印變量start時,我得到了用戶選擇的正確日期。 現在,我必須同時使用它們(開始和結束)並將它們發送到要使用它們的HTML頁面,但是當我嘗試像這樣發送它們時:
return render(request, "path/page.html", {"start": start, "end": end})
並在HTML頁面的腳本中將它們像這樣
<script>
var start = {{start | safe}};
console.log(start);
var end = {{end | safe}};
console.log(end);
</script>
我得到一個整數而不是我試圖從視圖發送的日期。
例如。 如果我想從25-01-17到25-01-18調用數據
25-01-17是開始日期,25-01-18是結束日期,因此當我在要在控制台中顯示的視圖中打印這些變量時,我會得到用戶選擇的正確日期。
print(start)
print(end)
output:
25-01-17
25-01-18
但是當我嘗試在html頁面內的腳本中打印那些相同的變量時,我得到了一些不同的東西
console.log(start);
console.log(end);
output:
7
6
我意識到正在發生的事是數學運算。 25-01 = 24-17 = 7。
我怎么解決這個問題 ?