2013-07-25 67 views
3

我有一個AJAX調用這臺 request.user.my_field = value如何更新django中的request.user?

當AJAX成功,我重裝與location.reload(True) 的頁面我期待request.user.my_field視圖功能現在已經更新,但它的舊值。

我該如何解決這個問題?

EDIT

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(它設置請求。用戶請求),不會在ajax調用和location.reload()之間調用()

so umm ???

回答

3

在退出視圖之前保存模型。

request.user.save() 
+0

我實際上在第一個視圖中執行'request.user.save()'。 – eugene

+0

我已經添加了更多信息。請看看我的編輯。 – eugene

0

哇拍我..

success:在裏面data並要求連續兩頁。