[英]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.