2017-07-17 152 views
-1

我一直在试图解决这个之前提到,但我不知道如何Django的 - 局部变量“秒”分配

我在那里我得到secs

form role="form" action="" method="POST" >{% csrf_token %} 
      <br> 
      <input type="number" name="secs" min="0" max="999" maxlength="3" class="form-control no-spinners" placeholder="Programar..."> 
      <br> 
      <button type="submit" id="btn-login" class="w3-btn w3-large w3-green" style="width:30%"> Aceptar </button> 
     </form> 

的形式我views.py

def streaming(request): 
    if request.method == 'POST': 
     secs = request.POST['secs'] 
     print secs 
     programarTiempo(secs) 
     messages.info(request, 'Iniciando streaming en...' + secs + ' segundos') 
     time.sleep(float(secs)) 
     return redirect('streaming') 
    return render(request, "straming.html", {"secs":secs}) 

当我到了我的.html我得到了以下错误:

UnboundLocalError at /streaming/ local variable 'secs' referenced before assignment

在此先感谢!

+2

如果request.method不是“POST”定义它,然后' secs'永远不会被定义,所以当你尝试调用render()时,你会得到错误。 –

+0

是的,我知道这个部分,但是如果我在post方法之外定义了secs,我不会得到'secs'的正确值。' – User100696

+0

'你从request.POST ['secs']'得到了值,其中_doesn' t request_method不是POST时。所以我不知道你可能期望得到什么样的价值...... –

回答

1

的问题是,如果不张贴的方法,它会返回(最后一行),其中有秒可变的,但你如果条件