我有一个设置的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()之间调用
所以嗯???
答案 0 :(得分:3)
退出视图前保存模型。
request.user.save()
答案 1 :(得分:0)
success:
位于data
内,并且连续请求了两页。