如何在admin中设置django upload_handler?

swo*_*oei 6 python django file-upload django-admin

我正在尝试在django管理员中制作一个django上传进度条.应用程序只是项目的一小部分,因此我不想在settings.py中设置自定义上传处理程序.

upload_handler可以设置,request.upload_handlers.insert(0, UploadProgressHandler(request))但不能在django admin类的add_view中设置.响应是这个例外:

如果您在从request.POST或request.FILES读取后尝试修改request.upload_handlers,Django将抛出错误.

我也试过用装饰器来做这个,add_view但后来我不知道如何访问request.upload_handlers.

有人可以帮我吗?

Ane*_*pic 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)
Run Code Online (Sandbox Code Playgroud)

装饰器“包装”原始视图,以便您可以在调用原始视图函数之前检查请求参数。