gpt4 book ai didi

django - 如何在 django 中更新 request.user ?

转载 作者:行者123 更新时间:2023-12-03 05:36:48 26 4
gpt4 key购买 nike

我有一个ajax调用设置request.user.my_field = 值

当ajax成功时,我使用location.reload(True)重新加载页面我希望 View 函数中的 request.user.my_field 现在已更新,但它具有旧值。

我该如何解决这个问题?

编辑

ajax 调用:

$.ajax({
type: 'POST',
url: '{% url editor_select %}',
data: {'editor_type':$(this).val(),
success: function(response_data) {
location.reload(true);
}
}
});

第一个 View :

def editor_select(request):
"""
called when user changes editor type to post question/answer
"""

editor_type = CharField().clean(request.POST['editor_type'])
request.user.editor_type = editor_type
request.user.save()

第二个 View :

def second_view(request):
print 'ask, editor_type:', request.user.editor_type

我发现 AuthenticationMiddleware(将 request.user 设置为请求)在 ajax 调用和 location.reload() 之间不会被调用

所以嗯???

最佳答案

退出 View 之前保存模型。

request.user.save()

关于django - 如何在 django 中更新 request.user ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17849488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com