2014-02-01 1 views
1

В настоящее время в моем приложении django у меня есть два типа пользователей, скажем userTypeA и userTypeB.Декодер Django для перенаправления на основе пользовательского типа

На этом этапе я перенаправляю оба типа в/usercheck /, который имеет функцию проверки типа пользователя и перенаправляет их соответственно. Это работает довольно хорошо.

Однако, только для любопытства, если бы я написал декоратор, где бы я его положил?

Одно место, о котором я могу думать, - это settings.py, где декоратор выводит различные LOGIN_REDIRECT_URL на основе типа пользователя.

Это просто для обучения. Моя текущая реализация до сих пор очень хороша.

Большое спасибо.

ответ

2

settings.py предназначен для глобальных статических данных конфигурации, я бы определенно не пытался динамически изменять настройки. В Django есть много других мест, где URL-адрес входа можно установить явно.

Я не совсем понимаю, что вы хотите сделать, но похоже, что декоратор user_passes_test - это то, что вам нужно. От the docs:

Ограничение доступа к зарегистрированным пользователям, которые проходят тест: Простой способ запустить тест на request.user в представлении непосредственно .... Как ярлык, вы можете использовать удобный user_passes_test декоратор.

+0

Вау, я не знал, что такая вещь существует. Я закончил делать что-то подобное: назначая перенаправление по умолчанию, а затем переопределяя это значение по умолчанию на основе условий. Я мог бы использовать этот. Во всяком случае, большое спасибо. – user2707389

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