2013-04-30 4 views
2

У меня есть ссылки на изображение, если пользователь вошел в систему ajax для upvote/downvote, может случиться легко. однако, если пользователь не вошел в систему, я гарантирую, что пользователь будет аутентифицирован первым.django, перенаправление на действие ajax после аутентификации

Реализация осуществляется в шаблоне следующим образом -

{% if not user.is_authenticated %} 
<a href="/accounts/login/">Get Started</a> 
{% else %} 
<a href="my-ajax-url"> Like </a> 
{% endif %} 

Проблема здесь, если пользователь не вошел в систему, я хочу, чтобы он первым войти в систему, а затем выполнить действие Ajax. Нечто похожее на то, что делает next помогает. Таким образом, поток должен быть, если пользователь не зарегистрирован, он попадает в URL-адрес входа, а затем автоматически выполняется действие ajax.

Реверсивный способ его реализации, реализующий ajax_login_decorator, который может быть выполнен как here. При втором подходе, поток что-то вроде:

1. The user clicks on the action button. 
2. the request goes to the server, if he is not authenticated, a response is sent to client. 
3. He is made to login/signup. 
4. Then once he logs in, he has to click on the action button again. 

Вместо лучший подход может быть, он сделал, чтобы войти в первый, и нечто похожее на следующий может выполнить действие Ajax. Таким образом, вопрос сводится к этой простой вещи:

Как вызвать ajaxy url с некоторыми параметрами next после того, как пользователь был аутентифицирован.

ответ

1

Как насчет шага 2 вы храните действие в (анонимной) сессии, и как только он входит в систему, вы запускаете действие со стороны сервера? Вам вообще не нужно будет звонить AJAX.

+0

Не могли бы вы рассказать о том, как это сделать? или в случае, если вы могли бы предложить указатели, где я могу ссылаться и понимать, как их реализовать, как в коде. – user1629366

Смежные вопросы