Как установить переменные сеанса при входе в систему с помощью django-registration и auth? - PullRequest
8 голосов
/ 15 февраля 2010

Я использую django-регистрацию для входа пользователей в свое приложение. Эта часть отлично работает. Часть, которую я не могу понять, это как установить пользовательские переменные сеанса, когда пользователь входит в систему. Например, я хотел бы заполнить переменные, содержащие данные UserProfile, а также вывод нескольких других функций. Тогда я смогу использовать эту информацию в последующих представлениях / шаблонах.

Если кто-нибудь может указать мне учебник в Интернете или опубликовать пример кода, это было бы здорово.

Я использую django 1.1 и Python 2.6

Ответы [ 2 ]

3 голосов
/ 15 февраля 2010

Если вы не хотите постоянного хранения пользовательских данных (просто дополнительных данных сеанса), посмотрите:

http://docs.djangoproject.com/en/dev/topics/http/sessions/

Каркас сессий, скорее всего, будет уже включен, если вы используете django.contrib.auth.

Если вы хотите постоянное хранение дополнительных пользовательских данных (не только в сеансе, но и в базе данных), вы будете хранить их в другой модели «профиля»:

http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users

1 голос
/ 16 февраля 2010

Я понимаю, что @stefanw предоставил вам альтернативное решение, но чтобы ответить на оригинальный вопрос:

Установка данных сеанса при входе в систему затруднена, поскольку самое простое место для установки этих данных - это функция просмотра, а конкретная функция просмотра, которую вы хотите изменить, является частью приложения contrib.django.auth.

Таким образом, ваши параметры будут следующими:

  • Создайте небольшой промежуточный класс для установки данных сеанса.
  • Создайте тег шаблона или другой фрагмент кода, который может быть интегрирован в шаблон входа в систему или на следующей странице, которая установит необходимые данные.
  • Напишите свою собственную пользовательскую функцию просмотра входа в систему (на самом деле это довольно просто).

Счастливого Джанго-Инга!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...