【问题标题】:ValueError: invalid literal for int() with base 10: FlaskValueError:以 10 为基数的 int() 的无效文字:Flask
【发布时间】:2015-09-20 19:25:38
【问题描述】:

大家好 :) 我必须编写一个小计算器 (DEX>BIN),但我遇到了一个我无法解决的小问题。问题: 当我发送一个空白表格时,它说: ValueError: int() 以 10 为底的无效文字:'' 但是当我以表格形式发送某些东西时,它确实有效。有人能帮我吗 ?

 if check_login():
            data = 0
            if request.method == 'POST':
                if request.form['table'] != None:

                    if request.form['dextobin']!= '0':                   
                        data = request.form['table']
                        data = int(data) 
                        data = bin(data)[2:]
                        data = str(data)
                    elif request.form['bintodex'] != '0':
                        data = 111
                    else:
                        data = 11
            return render_template('kalkulator.html', wynik = data)
        else:
            return redirect(url_for('login'))

解决:

   if request.method == 'POST':
        data=''
        if request.form.get('table'):
            if  not request.form.get('dextobin'):
                data = request.form.get('table')
                data = int(data) 
                data = bin(data)[2:]
                data = str(data)            
        else:
            data='Where is your integers ! ?'
    return render_template('kalkulator.html', wynik = data)
else:
    return redirect(url_for('login'))

【问题讨论】:

  • 检查空字符串并将结果设置为0?或任何适用的。
  • 哈,我只是将 if request.form['table'] != None 更改为 if request.form['table'] 并且它确实有效。

标签: python python-3.x flask


【解决方案1】:

改用data = request.form.get('table', 0)

【讨论】:

  • 0 有什么作用?感谢您的帮助伙伴!
  • 0 是 request.form['table'] 为 None 时的默认值
猜你喜欢
  • 2017-12-06
  • 2013-08-04
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-17
  • 1970-01-01
相关资源
最近更新 更多