Django 使数据框在视图中可用,但只读取一次

Django make dataframe available in view but read it just ONCE

我正在努力完成以下任务。我有一个简单的 view,类似下面的东西

def view(request):
    df = pd.read_csv('t.csv')
    """
    Some code to parse parameters from request
    """
    y = parse_some_parameters(request)


    """ 
    Do something with df.
    """
    if request.method=="POST":
        x = do_something(df, y)
    return(JsonResponse(x))

在当前的实现中,对 view 的每次调用都涉及读取文件。我想避免这种情况。我想在启动服务器时读取 df 一次并使其在 view 中可用。 我尝试读取 settings.py 文件中的 df,但它在 view 中不可见。 我将如何做到这一点?有可能吗?

你不能简单地在视图函数之外设置一个变量,如果还没有设置就加载它吗?

df = None

def view(request):
    global df
    if df is None:
        df = pd.read_csv('t.csv')

    """
    Some code to parse parameters from request
    """
    y = parse_some_parameters(request)


    """ 
    Do something with df.
    """
    if request.method=="POST":
        x = do_something(df, y)
    return(JsonResponse(x))