Python Django-局部变量';秒';分配前参考

Python Django-局部变量';秒';分配前参考,python,html,django,Python,Html,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="Progr

我一直在努力处理这件事,但我不知道该怎么办

我有一个表格,我得到了
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> 
当我访问my.html时,出现以下错误:

引用的/streaming/local变量“secs”处发生UnbundLocalError 派遣前


提前感谢

问题是,如果该方法不是Post,它将返回(最后一行),其中包含secs变量,但您在if条件中定义了它

如果request.method不是“Post”,则从未定义过
secs
,因此当您尝试调用
render()
,您会得到错误。是的,我知道这一部分,但是,如果我在post方法之外定义秒,我将无法获得正确的
secs
值。您是从
request.post['secs']
中获得的值,当request.method未post时,该值不存在。因此,我不知道您可能期望得到什么值……您想要函数上次执行时的
secs
值吗?如果请求得到,请尝试在查询字符串中接受它。像这样/my/app/myroute?secs=3。然后在控制器中,您可以使用
sec=request.args[“secs”]
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})