簡體   English   中英

如何將日期格式從python中的視圖傳遞到<script> in html page

[英]How to pass a date format from view in python to a <script> in html page

我設置了一個字段,用戶可以在其中選擇日期范圍(開始,結束):

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。

我怎么解決這個問題 ?

如果它們應該是字符串,請嘗試將它們用引號引起來,如下所示:

<script>

var start = "{{start | safe}}";              
        console.log(start);

var end = "{{end | safe}}";              
        console.log(end);

</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM