2015-09-20 180 views
-1

你好家伙:)我必须写一个小计算器(DEX> BIN),并坚持一个小问题,我无法解决。问题: 当我发送一个空白表格时,它会说: ValueError:int()与基数为10的无效文字:'' 但是当我发送一些表单时它确实有效。有人能帮我吗 ?ValueError:无效文字为int()与基地10:Flask

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')) 
+3

检查空字符串,并设置结果为0?或者任何适用的。 –

+0

哈,我只是改变了,如果request.form ['table']!=没有,如果request.form ['表'],它确实有效。 –

回答

0

使用data = request.form.get('table', 0)代替

+0

什么是0?谢谢你的帮助队友! –

+2

0是request.form ['table']为None时的默认值 – mehdy

相关问题