为了账号安全,请及时绑定邮箱和手机立即绑定

防止Flask + jinja2将长整数转换为十进制

防止Flask + jinja2将长整数转换为十进制

小唯快跑啊 2021-03-29 11:38:11
[一个完整的python noob]我正在渲染一个模板并传递一个字典:d = {'id':3423444989845}但是当我这样做时,<div id="{{d['id']}}">而不是像这样获取<div id="3423444989845">HTML呈现器:<div id="3.423445e+12">。我该如何预防呢?(我的临时解决方案是将id作为字符串传递,但我希望将其保留为整数。
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

问题是您的ID是一个浮点数,而不是整数(JavaScriptDate#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


查看完整回答
反对 回复 2021-04-01
  • 1 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信