2010-02-17 6 views
6

मैं django व्यवस्थापक के भीतर एक django अपलोड प्रगति पट्टी बनाने की कोशिश कर रहा हूँ। एप्लिकेशन प्रोजेक्ट का केवल एक छोटा सा हिस्सा है, इसलिए मैं सेटिंग.py में कस्टम अपलोड हैंडलर सेट नहीं करना चाहता हूं।व्यवस्थापक में django upload_handler कैसे सेट करें?

upload_handler request.upload_handlers.insert(0, UploadProgressHandler(request)) साथ सेट किया जा सकता है, लेकिन नहीं Django व्यवस्थापक वर्ग के 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) 

डेकोरेटर 'लपेटता' मूल दृश्य ताकि आप मूल दृश्य समारोह कॉल करने से पहले अनुरोध आर्ग की जाँच करने में सक्षम हैं इसके साथ।

+0

त्वरित संदर्भ के लिए, यहां उल्लिखित मॉड्यूल है: https://github.com/django/django/blob/1.4.10/django/contrib/admin/views/decorators.py –