Уточнение вопроса: Я пытаюсь проверить, проходит ли аутентификация пользователя для каждого запроса страницы.
Я впервые пытаюсь использовать Аутентификацию в Django иЯ не понимаю, как представление входа в систему должно обрабатывать аутентификации.
Когда я использую @login_required, я перенаправляю на «/ login», чтобы проверить, вошел ли пользователь в систему и, если нет, отобразить имя входастр.Однако попытка перенаправить обратно на исходную страницу вызывает бесконечный цикл, потому что он снова и снова отправляет меня на страницу входа.
Я явно не понимаю, как должен работать @login_required, но яЯ не уверен, что мне не хватает.Некоторое время я искал пример, но все используют значение по умолчанию @login_required без параметра login_url.
Так, например ... страница, к которой я пытаюсь получить доступ, будет ...
@login_required(login_url='/login')
def index(request):
И тогда мой вход в систему будет .. (очевидно, неполным) ..
Редактировать: просто отметить ... переменные сеанса устанавливаются в другом представлении
def login(request):
if '_auth_user_id' in request.session:
# just for testing purposes.. to make sure the id is being set
print "id:",request.session['_auth_user_id']
try:
user = Users.objects.get(id=request.session['_auth_user_id'])
except:
raise Exception("Invalid UserID")
# TODO: Check the backend session key
# this is what I'm having trouble with.. I'm not sure how
# to redirect back to the proper view
return redirect('/')
else:
form = LoginForm()
return render_to_response('login.html',
{'form':form},
context_instance=RequestContext(request)
)