Django: необходимо динамическое перенаправление входа в систему, используя информацию из базы данных перенаправления после входа в систему, используя встроенный вход в систему - PullRequest
0 голосов
/ 29 мая 2018

После входа в систему мне нужно перенаправить на другую страницу, добавляя параметры URL в URL следующей страницы.Я получаю значения этих параметров после того, как пользователь аутентифицирован, потому что они должны быть доступны из таблицы базы данных пользователей.Я слышал об использовании следующего параметра, но я не знаю, как бы я его использовал, так как мне нужен доступ к таблице базы данных, и я не могу сделать это из urls.py.Это моя строка url.py для входа в систему прямо сейчас:

    url(r'^$',auth_views.login, name='login',kwargs={
'authentication_form':loginPlaceHolderForm,
}),

Я не совсем уверен, какая другая информация вам нужна, просто спросите ее в комментариях, и я обязательно добавлю ее.

Также я использую Django 1.11

РЕДАКТИРОВАТЬ: Для большей ясности: что я хочу, это что-то вроде этого / цвета? Команда = синий

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

1 Ответ

0 голосов
/ 29 мая 2018

Вы можете попытаться переопределить представление на основе классов djangos LoginView.

В views.py

from django.contrib.auth.views import LoginView

class MyLoginView(LoginView):
    authentication_form = loginPlaceHolderForm

    def get_redirect_url(self):
        print(self.request.user)

        # get data for user here
        user_data_query_string = ''

        url = '{}?{}'.format(
            reverse('app:some-name')
            user_data_query_string)
        return url

В urls.py

url(r'^$', MyLoginView.as_view(), name='login'),

См. Также этот вопрос о добавлении параметров строки запроса GET в djangos HttpRedirect.

...