登录后,我需要重定向到另一个页面,同时将URL参数添加到下一页的URL。在用户通过身份验证后,我会获取这些参数的值,因为需要从用户数据库表中访问这些参数。我听说使用下一个参数,但我不知道如何使用它,因为我需要访问数据库表,我不能从urls.py那样做。这是我现在登录的url.py行:
url(r'^$',auth_views.login, name='login',kwargs={
'authentication_form':loginPlaceHolderForm,
}),
我不确定您需要什么其他信息,所以只需在评论中提出,我一定会加上。
我也在使用Django 1.11
编辑: 更多说明:我想要的是像这样的东西/ colors?team = blue
让我们说团队可以是红色,蓝色或绿色,您可以从用户登录时获得的给定行中的团队列中获取此值。
答案 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查询字符串参数的信息。