我正在使用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
答案 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的票证。