2013-09-10 1 views
0

Как запустить кусок кода на django после успешного входа пользователя? Я не могу поместить код в представление, которое показано после входа в систему для следующего перезапуска:Django запускает код один раз при каждом успешном входе в систему

  • Переадресация динамическая, поэтому вид после входа отличается. На странице, на которую пользователь пытался получить доступ, зависит от пользователя .
  • Я хочу, чтобы запустить свой код только один раз, только сразу после момента регистрации пользователя в.

Ищу самый простой вещий способ сделать это? Возможно ли это без написания моего собственного промежуточного программного обеспечения для проверки подлинности?

ответ

2

Я не уверен, почему вы не можете поместить его в представление, которое обрабатывает сам вход. Вы, конечно, написали что-то, что выводит данные из формы имени пользователя/пароля и вызывает auth.login(), так что это будет подходящее место для этого.

В качестве альтернативы вы можете написать прослушиватель сигналов для сигнала user_logged_in.

+0

Я использую стандартное представление Django: django.contrib.auth.views.login, поэтому я не написал никакой обработки входа самостоятельно. Теперь я смотрю на слушателей сигнала django. – jvannistelrooy

+0

Слушатель сигнала - это действительно путь. – jvannistelrooy