Как передать переменную из одной функции Джанго в другую
Необходимо передать значение переменной var1 из функции fun1 в функцию fun2. Причем именно передать, а не присвоить её значение функцией fun2.
В функции fun2 сравниваются переменные var1 и var2 (она вводится через форму). Если переменные равны, делаем переход в fun4, если нет - сообщение об ошибке.
Часть кода views.py:
def fun1(request):
var1 = None
if not Profile1.objects.filter(username=username):
var1 = 'xyz'
return HttpResponseRedirect(reverse('fun2', kwargs={'var1': var1}))
else:
return redirect('fun3')
def fun2(request, var1):
if request.method == 'POST':
form = SmsForm(request.POST)
if form.is_valid():
var2 = form.cleaned_data.get('var2')
if var2 == var1:
return redirect('register')
else:
messages.error(request, 'error')
return redirect('fun2')
else:
form = SmsForm()
template_name = 'includes/home.html'
return render(request, 'index.html', {'template_name': template_name, 'form': form, 'var1': var1})
При выполнении выдает ошибку:
Reverse for 'fun2' with keyword arguments '{'var1': 'xyz'}' not found. 1 pattern(s) tried: ['fun2/$']