在分配之前引用的局部变量'script1'

问题描述:

非常感谢您能够帮助您的人。我花了很多时间处理这个错误,但无法弄清楚。我试图用表单来抓取代码,并使用散景将代码传递给一个简单的图表,然后将结果传递给views.py并将其显示在html上。首先我在我的views.py中有以下代码。在分配之前引用的局部变量'script1'

def pme(request): 
os.chdir(os.path.dirname(__file__)) 
result = None 
if request.method =='POST': 
    form = InputForm(request.POST) 
    if form.is_valid(): 
     forms = form.save(commit=False) 
     result = macd(forms.ticker) 
     script1, div1 = components(result, CDN) 
else: 
    form = Ticker() 

return render(request,'pme.html', 
          {"form":form, 
          "the_script1":script1, 
          "the_div1":div1, 
          }) 

由于某些原因,script1被引用?

我的macd(forms.ticker)只是简单地返回p,它本身很好地工作。

任何帮助表示赞赏。

您需要查看通过您的代码的所有路线。如果请求不是POST,或者表单无效,那么script1和div1没有定义;但你仍然在函数的最后使用它们。

要么确保它们在所有路径中定义,要么在未定义它们的情况下不使用它们。

我需要包含script1 = None。包含之后,我会在分配入站错误之前清除参考。