Django通过更新视图更新用户

时间:2015-09-24 08:07:02

标签: django

我正在使用Django更新视图,当我发送要更新的用户的ID时 它将我从登录到我想要更改的用户的当前用户切换。

例如,我想通过用户Y更新用户X的名称和密码。当我转到更新视图时,它会切换我以便用户X登录。

任何想法为什么?

url(r'^updateUser/(?P<user_id>\d+)/$', views.updateUser.as_view(), \
            name='updateUser'),

class updateUser(UpdateView):
    model = User

我也尝试覆盖get_object方法,但它没有工作

def get_object(self):
    obj = User.objects.get(pk=self.kwargs['user_id'])
    return obj

1 个答案:

答案 0 :(得分:1)

问题是来自auth上下文处理器的user与视图中的user发生冲突。

您可以使用模板中的{{ request.user }}访问登录用户。

或者您可以将context_object_name设置为其他内容,

class UpdateUser(UpdateView):
    model = User
    context_object_name = 'user_to_update'

并在模板中使用{{ user_to_update }}访问该用户。

有关于此25397的票证。