Django:登录后需要使用来自数据库重定向的信息进行动态登录重定向,使用内置登录

时间:2018-05-29 16:51:46

标签: python django redirect login get

登录后,我需要重定向到另一个页面,同时将URL参数添加到下一页的URL。在用户通过身份验证后,我会获取这些参数的值,因为需要从用户数据库表中访问这些参数。我听说使用下一个参数,但我不知道如何使用它,因为我需要访问数据库表,我不能从urls.py那样做。这是我现在登录的url.py行:

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

我不确定您需要什么其他信息,所以只需在评论中提出,我一定会加上。

我也在使用Django 1.11

编辑: 更多说明:我想要的是像这样的东西/ colors?team = blue

让我们说团队可以是红色,蓝色或绿色,您可以从用户登录时获得的给定行中的团队列中获取此值。

1 个答案:

答案 0 :(得分:0)

您可以尝试覆盖基于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'),

另请参阅this question有关向djangos HttpRedirect添加GET查询字符串参数的信息。