簡體   English   中英

防止Flask + jinja2將長整數轉換為十進制

[英]Prevent Flask + jinja2 from converting a long integer into a decimal

[一個總的Python菜鳥]
我正在渲染模板並傳遞字典:

d = {'id':3423444989845}

但是當我這樣做時<div id="{{d['id']}}">而不是得到<div id="3423444989845"> HTML呈現如下: <div id="3.423445e+12">

我該如何預防? (我的臨時解決方案是將id作為字符串傳遞,但我希望將其保留為整數。

謝謝

問題是您的ID是浮點數,而不是整數(JavaScript的Date#getTime返回一個浮點數,我敢打賭MongoDB還將值存儲為浮點數。)如果希望將其視為整數您應該將JavaScript給定的值轉換為Python代碼中的整數:

if request.method == "POST":
    try:
        # Remember, *never* trust user input
        # This is most likely a number but you are not guaranteed that
        data_id = int(request["id"])
    except ValueError:
        abort(400)
    # If we got here, we have a valid int
    # Insert data into MongoDB

暫無
暫無

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

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