我有一个 ajax 调用,它设置
request.user.my_field = value
当 ajax 成功时,我重新加载页面,location.reload(True)
我希望request.user.my_field
视图中的函数现在已更新,但它具有旧值。
我怎样才能解决这个问题?
编辑
ajax 调用:
$.ajax({
type: 'POST',
url: '{% url editor_select %}',
data: {'editor_type':$(this).val(),
success: function(response_data) {
location.reload(true);
}
}
});
第一种观点:
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()
第二种观点:
def second_view(request):
print 'ask, editor_type:', request.user.editor_type
我发现 AuthenticationMiddleware (将 request.user 设置为 request),在 ajax 调用和 location.reload() 之间没有被调用
所以嗯???