Django как импортировать значение в функцию запроса из другого? - PullRequest
0 голосов
/ 17 июня 2020

У меня следующая структура:

  • app1
  • app2

В app1 у меня есть представление с именем stato_patrimoniale:

def stato_patrimoniale(request):
    now=datetime.datetime.now()
    last_account_year=float(now.year)-1 #definizione dell'ultimo anno contabile
    now = now.year
    if request.method == 'POST':
        year = request.POST['year']
        if year != '':
            now = year
            last_account_year = float(now) - 1
    context= {
         'last_account_year': last_account_year}

    return render(request, 'stato_patrimoniale/stato_patrimoniale.html', context)

в приложении2 У меня есть функция с именем my_fun c ()

Теперь я хочу использовать значение last_account_year в my_fun c () в приложении 2, в котором У меня есть такая функция:

def my_func():
    last_account_year = ""

Как мне получить такой результат?

1 Ответ

1 голос
/ 17 июня 2020

Что вы можете сделать, так это установить глобальное значение last_account_year

Например:

last_account_year_global = o

def stato_patrimoniale(request):
    // your view
    global last_account_year_global
    last_account_year_global = last_account_year

def view2(request):
    print last_account_year_global

, если вам это нужно в другом приложении, вы можете сохранить его в сеанс. не забудьте добавить 'django.contrib.sessions.middleware.SessionMiddleware' к вашему MIDDLEWARE

например:

def stato_patrimoniale(request):
    // your view
    request.session['last_account_year'] = last_account_year

def view2(request):
    try:
       last_account_year = request.session['last_account_year']
    except KeyError:
       // last_account_year not in session
       pass 
...