如何从SQLite获取值进行转换?

时间:2018-07-23 07:08:32

标签: python sqlite flask bitcoin

所以我有一个问题,我正在尝试从SQLite Db转换浮点值。 该值表示美元的价格,我想将其转换为BTC,我正在安装python-forex,但是由于我没有足够的经验,因此在此进行堆叠:

b = BtcConverter(force_decimal=True)
p = float(acf1.p1)
pbtc = b.convert_to_btc(10, 'USD')

我需要做的是将“ 10”与“ p”交换,而“ p”是我的SQlite Db中的一行。

我试图通过以下方式从数据库表中获取acfi.p1:

acf1 = KAch.query.order_by(KAch.reg.desc()).all()

同样html代码是:

{{ "%.9f" %pbtc }}

但是因为我是新来的,所以给了我500个错误。

能给我一个提示吗?

更新:

@app.route('/adfa', methods=['GET', 'POST'])
def add_foa():
    t1=request.form.get('t1')
    c1=request.form.get('c1')
    p1=request.form.get('p1')
    p2=request.form.get('p2')
    um1=request.form.get('um1')
    ce1=request.form.get('ce1')
    dc1=request.form.get('dc1')
    mdla1=request.form.get('mdla1')
    mdam1=request.form.get('mdam1')
    aop=request.form.get('aop')
    pz1=request.form.get('pz1')
    users_id = request.form.get('users_id')

    acf1 = KAch(
                t1=t1,
                c1=c1,
                p1=p1,
                p2=p2,
                um1=um1,
                ce1=ce1,
                dc1=dc1,
                mdla1=mdla1,
                mdam1=mdam1,
                aop=aop,
                pz1=pz1,
                users_id=current_user.id,
                reg=datetime.now())

    db.session.add(acf1)
    db.session.commit()

    return redirect(url_for('adfa', users_id=current_user.id, _external=True))

@app.route('/profil/<int:users_id>')
@login_required
def profil(users_id):
    ac1 = KAch.query.order_by(KAch.reg.desc()).all()
    user = User.query.filter_by(id=users_id).first()
    profil1 = KProfil.query.filter_by(id=users_id).one()

    b = BtcConverter(force_decimal=True)
    #p = float(acf1.p1)
    pbtc = b.convert_to_btc(10, 'USD')

    if 'out' in current_user.tc:
        return redirect(url_for('adpro', users_id=current_user.id, _external=True))
    elif 'n' in current_user.tc:
        return redirect(url_for('logout', _external=True))

    return render_template('front/usr/usr.html', profil1=profil1, user=user, ac1=ac1, pbtc=pbtc)

1 个答案:

答案 0 :(得分:0)

我发现该解决方案很简单并且可以正常工作!

服务器端:

b = BtcConverter(force_decimal=True)
p1btc = b.get_latest_price('USD')
p1btcr = b.get_latest_price('RON')
pbtc = b.convert_to_btc(10, 'USD')
pron = float(Decimal(p1btcr))

HTML端:

{{ acf1.p1 / pron }}