是否可以在Flask模板中将字符串格式转换为货币(USD)?
示例: mystring =“ 10000”
我想要的结果是:mynewstring = "$10,000.00"
答案 0 :(得分:2)
您可以使用语言环境在Flask代码中进行转换
@app.template_filter('conv_curr')
def conv_curr(amount):
import locale
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
return locale.currency(amount)
然后使用过滤器
{{ 10000|conv_curr }}
答案 1 :(得分:1)
Jinja2提供了一种格式化传递给模板的值的方法。这就是自定义模板过滤。
要在数字字符串模板中显示货币格式:
您可以使用字符串格式将字符串或语言环境格式化为@Blitzer的答案。
由于@Blitzer已经提供了TYPE ARRAY
的用法,因此我将字符串格式添加到自定义过滤器中。
locale
:
app.py
from flask import Flask, render_template
app = Flask(__name__)
@app.template_filter()
def currencyFormat(value):
value = float(value)
return "${:,.2f}".format(value)
@app.route('/')
def home():
data = "10000"
return render_template("currency.html", data=data)
app.run(debug=True)
:
currency.html
输出: