2015-09-20 235 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

相關問題