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



我正在尝试完成以下任务。我有一个简单的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))

最新更新