Django делает dataframe доступным для просмотра, но читает его только ОДИН РАЗ - PullRequest
0 голосов
/ 29 сентября 2019

Я пытаюсь сделать следующее. У меня есть простой 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. Я попытался прочитать df в файле settings.py, но его не видно в view. Как бы я это сделал? Возможно ли это вообще?

1 Ответ

1 голос
/ 01 октября 2019

Разве вы не можете просто установить переменную вне функции просмотра, загружая ее, если она еще не установлена?

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))
...