0

好吧,按照django 站点的登录文档,django.contrib.auth.views.login在 urls.py 中使用视图,如下所示:

url(r'^login/$', 'django.contrib.auth.views.login',{'template_name': 'login.html'},name="my_login"),

我可以将一个传递extra_context给这个视图,我想要的是根据用户凭据,在成功登录的情况下搜索一些相关数据给用户,以便在模板中打印它,如姓名、地址等......存储在会话或类似的东西中,例如{{ request.user.username }}在模板中使用我可以检索登录请求的用户名,这就是我想要的,但根据他的用户名搜索一些数据auth_user。我可以用这个视图做到这一点,还是我自己实现?

问候!

4

1 回答 1

0

您可以使用登录视图定义一个新视图,在该视图中传递extra_settings

from django.contrib.auth.views import login as auth_views_login

def login(*args, **kwargs):
    extra_context = {'extra_value': 'some data here'} 
    return auth_views_login(*args, extra_context=extra_context, **kwargs) 

然后只需在 urls.py 中将 Django 视图替换为您的视图:

url(r'^login/$',
    'myapp.views.login',
    {'template_name': 'login.html'},
    name="my_login"),
于 2013-08-11T09:27:20.917 回答