Django: Как остановить истечение срока действия сессии django в django?
Я написал логику, в которой референт получает некоторое количество очков, когда человек, которого он направил, покупает пакет. Теперь проблема в том, что когда я направляю кого-то, и он подписывается и также покупает пакет немедленно, я, референт, получаю некоторое очко, но через некоторое время, возможно, через день, если он покупает другой пакет, я не получаю никакого очка снова. В этом случае мне кажется, что сессия прерывается по времени или что-то в этом роде, но я не могу точно сказать, в чем здесь проблема.
это код, который дает мне (или любому пользователю, который направил кого-то) некоторый пункт, когда человек, которого они направили, покупает какой-то пакет
views.py
profile_id = request.session.get('ref_profile')
if profile_id is not None:
recommended_by_profile = Profile.objects.get(id=profile_id)
print("Profile Id Is" + str(profile_id))
recommended_by_profile.indirect_ref_earning += 250
recommended_by_profile.save()
else:
print("Profile ID is None and no point where given")
Это мое представление registerRef
, которое регистрирует пользователя и определяет человека, который его направил
def registerRef(request, *args, **kwargs):
profile_id = request.session.get('ref_profile')
print('profile_id', profile_id)
code = str(kwargs.get('ref_code'))
try:
profile = Profile.objects.get(code=code)
request.session['ref_profile'] = profile.id
print('Referer Profile:', profile.id)
except:
pass
print("Session Expiry Date:" + str(request.session.get_expiry_age()))
form = UserRegisterForm(request.POST or None)
if form.is_valid():
if profile_id is not None:
recommended_by_profile = Profile.objects.get(id=profile_id)
instance = form.save()
registered_user = User.objects.get(id=instance.id)
registered_profile = Profile.objects.get(user=registered_user)
registered_profile.recommended_by = recommended_by_profile.user
registered_profile.save()
profile = Profile.objects.get(user=registered_user)
profile.earning_point = 500
recommended_by_profile.referral_point = recommended_by_profile.referral_point + 500
profile.save()
recommended_by_profile.save()
else:
instance = form.save()
registered_user = User.objects.get(id=instance.id)
profile = Profile.objects.get(user=registered_user)
profile.earning_point = 500
profile.save()
username = form.cleaned_data.get('email')
password = form.cleaned_data.get('password1')
user = authenticate(username=username, password=password)
login(request, user)
messages.success(request, f"Hi {request.user.username}, you just earned ₦500 for creating an account. Congratulations!")
profile = Profile.objects.get(user=request.user)
profile.earning_point = 500
profile.save()
return redirect('core:index')
context = {'form':form}
return render(request, 'userauths/sign-up.html', context)
если есть какой-либо другой код, который необходим, я бы предоставил его.