Я делаю приложение для кошелька, поэтому если кто-то отправится в http://127.0.0.1:8000/add_money/, чтобы добавить деньги, и они не вошли в систему, они будут перенаправлены на страницу входа в систему, после чего после входа пользователя в систему должен быть перенаправлен обратно в add_money, но он перенаправляется на их профиль.«next» не перенаправляется в ожидаемую позицию
// Пополни VIEW
def add_money(request):
if not request.user.is_authenticated():
return render(request, 'registration/login.html', {"next": '/add_money/'})
else:
if request.POST:
username = request.user.username
add_amount = request.POST['amount']
wallet = Wallet.objects.filter(username=username).update(add_money(add_amount))
now = datetime.now()
trans = Transaction(from_name=username, wallet_id=wallet.id, date=now, amount=add_amount)
trans.save()
return render(request, 'user_profile.html', {'user': request.user})
return render(request, 'registration/login.html', {"next": '/add_money/'})
// Логин Просмотр
def user_login(request):
if request.POST:
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
if request.POST['next']:
return render(request, '/add_money/')
return render(request, 'user_profile.html',{'user': user, 'wallet': user.userprofile.wallet_id})
else:
return render(request, 'registration/login.html', {'error': 'User is not active'})
else:
return render(request, 'registration/login.html', {'error': 'User does not exist'})
else:
return render(request,'registration/login.html')
// Войти шаблон
{% if next %}
<form action="/login/?next={{next}}" method="post">
<input type="hidden" name="next" value={{ next }}>
{%else%}
<form action="/login/" method="post" >
{% endif %}
USERNAME <input type="text" name="username">
PASSWORD <input type="password" name="password">
<input type="submit">
<input type="hidden" name="next">
{% csrf_token %}
</form>
// add_money шаблон
<form action="user_profile.html" method="post">
Amount:<input type="number" name="amount">
<input type="submit" value="Submit">
<button type="button" name="cancel">Cancel</button>
</form>
я сделал все изменения до сих пор то же самое происходит –
@RavinKohli - Я просто понял, что на самом деле кое-что здесь не так ... вам нужно исправить ваш шаблон также, это будет по крайней мере, получить его чтобы перейти к правильному представлению, но тогда в этой точке зрения также необходимы исправления, выходящие за рамки этого вопроса – Sayse