Python 局部变量';direct1';分配前参考

Python 局部变量';direct1';分配前参考,python,django,django-views,global-variables,Python,Django,Django Views,Global Variables,我正在编写一个简单的程序,输入一个员工ID号,它会呈现该员工的数据。以下是我在后端的代码: def emp1(request): import requests import json if request.method == 'POST': quote = request.POST['quote'] # or None if quote == "10001401": employee1 = requests.get("the a

我正在编写一个简单的程序,输入一个员工ID号,它会呈现该员工的数据。以下是我在后端的代码:

def emp1(request):
import requests
import json

if request.method == 'POST':
    quote = request.POST['quote'] # or None

    if quote == "10001401":
        employee1 = requests.get("the api url")
        direct1 = json.loads(employee1.content)

    return render(request, 'home.html', {'quote': quote, 'direct1': direct1})

现在这是可行的。只有当我输入另一名员工时,我才被告知分配前引用了“direct1”。我试图使变量(direct1)成为全局变量。但我认为我没有掌握在django视图中如何做到这一点。

引用的不是“10001401”吗?如果是这样,python会尝试返回
render(请求'home.html',{'quote':quote,'direct1':direct1})
,而不事先实际分配/创建direct1。我想要quote,它是发布在前端的,用于根据输入的数字(10001401)呈现数据direct1’只是我在解析api数据。程序不允许我将其放在函数前面。@J.Doe说的是,当引号与
“10001401”
不同时,会出现错误。只需初始化变量,您可能就能解决问题。是的,您可以在程序开始时返回一个缩进,也可以使用direct1=string()赋值(或任何您需要的赋值)。谢谢大家。最终对我有效的是将变量direct1设置为全局: