2010-02-17 29 views
6

我想在django管理員中創建一個django上傳進度條。 該應用程序只是該項目的一小部分,因此我不想在settings.py中設置自定義上傳處理程序。如何在admin中設置django upload_handler?

upload_handler可以設置爲request.upload_handlers.insert(0, UploadProgressHandler(request)),但不在django admin類的add_view中。 的反應是這樣的例外:

如果試圖從 request.POST或request.FILES Django的讀書會引發錯誤後,修改request.upload_handlers。

我也試圖與一個裝飾在add_view這樣做,但我不知道如何訪問request.upload_handlers

有人可以幫我嗎?

回答

1

看一看源的裝飾自帶的管理應用程序:

def staff_member_required(view_func): 
    """ 
    Decorator for views that checks that the user is logged in and is a staff 
    member, displaying the login page if necessary. 
    """ 
    @wraps(view_func) 
    def _checklogin(request, *args, **kwargs): 
     if request.user.is_active and request.user.is_staff: 
      # The user is valid. Continue to the admin page. 
      return view_func(request, *args, **kwargs) 

的裝飾「包裝」的原始視圖,以便您能夠調用原始視圖FUNC前檢查要求ARG用它。

+0

有關快速參考,請參閱以下模塊:https://github.com/django/django/blob/1.4.10/django/contrib/admin/views/decorators.py – 2014-02-28 16:38:06

相關問題