Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在用户输入值时自动格式化表单字段django中的数字_Python_Django - Fatal编程技术网

Python 如何在用户输入值时自动格式化表单字段django中的数字

Python 如何在用户输入值时自动格式化表单字段django中的数字,python,django,Python,Django,我在form.py中有一个十进制字段,如下所示: ` 在html中,我有: ` {{formset\u item.management\u form} {formset_item.forms%} {{form.quantity}} {%endfor%} 现在我想输入这个数量的数字input。例如:当我在这个输入intext中输入输入1000000(看起来像按键事件)时,它将自动格式化为1000000,以便用户看到不插入数据库 total=100000 print ("Total cost is

我在form.py中有一个十进制字段,如下所示: `

在html中,我有: `

{{formset\u item.management\u form}
{formset_item.forms%}
{{form.quantity}}
{%endfor%}
现在我想输入这个数量的数字
input
。例如:当我在这个输入intext中输入输入1000000(看起来像按键事件)时,它将自动格式化为1000000,以便用户看到不插入数据库

total=100000
print ("Total cost is: ${:,.2f}".format(total)
首先,将o/p转换为字符串,然后将其存储在数据库中,然后尝试


哈哈。。对不起,我的英语不好:)

我不确定我是否正确理解了您的要求,但我想我已经掌握了要点:

  • 用户可以输入格式(数字)的数据,该格式将作为整数保存到数据库中
  • 下次将数据呈现给用户(用于编辑?)时,数据将使用逗号(1000 | 100000 | 87654321)进行格式化,然后可以对其进行编辑
  • 您可能希望也可能不希望系统动态地将输入的数字转换为逗号分隔的数字
  • 对于数字1和2,当您从数据库中提取和更新数据时,只需在需要时使用辅助函数将数字转换为字符串或字符串:

    如果你想让它实时发生,你需要Javascript。我可能只需要一个onfocus侦听器,它将基于逗号的数字转换为常规的int形式,然后onblur将它转换回逗号格式的数字(您可能需要一些额外的侦听器来处理边缘情况?)

    编辑:如果你想要一个更简单的方法,我不熟悉,但这似乎对你有帮助

    除了上述格式本地化注释外,您还可以在模板中设置数字格式,如下所示

    <!DOCTYPE html>
    {% load humanize %}
    
    {% for post in posts %}
    Views : {{ post.views|intcomma }}
    {% endfor %}
    
    
    {%load humanize%}
    {posts%%中的post为%s}
    视图:{post.Views | intcomma}}
    {%endfor%}
    
    看,我已经尝试过这样做,但它在html输出中显示了
    post.views
    您是否在settings.py安装的应用程序中插入了“django.contrib.humanize”?
    total=100000
    print ("Total cost is: ${:,.2f}".format(total)
    
    <!DOCTYPE html>
    {% load humanize %}
    
    {% for post in posts %}
    Views : {{ post.views|intcomma }}
    {% endfor %}