मैं विभिन्न कार्यों के ऑडिटिंग को संभालने के लिए एक सजावटी का उपयोग करना चाहता हूं (मुख्य रूप से Django दृश्य कार्य, लेकिन विशेष रूप से नहीं)। ऐसा करने के लिए मैं फ़ंक्शन पोस्ट-निष्पादन - यानी कार्य सामान्य के रूप में चलाता है, और यदि यह अपवाद के बिना लौटाता है, तो सजावटी इस तथ्य को लॉग करता है।सजाए गए फ़ंक्शन के पूरा होने के बाद मुझे पाइथन सजावट कैसे चलाया जा सकता है?
कुछ की तरह:
@audit_action(action='did something')
def do_something(*args, **kwargs):
if args[0] == 'foo':
return 'bar'
else:
return 'baz'
कहाँ audit_action
केवल समारोह पूरा कर लिया है के बाद चलाए जा सकें।
आपके पास कोई विचार के कितने अलग अलग संयोजन हैं:
उपरोक्त कोड, अपने उदाहरण समारोह के साथ संयुक्त, निम्न उत्पादन देता है सजावटी, रैपर, func और retvals मैं इसे काम करने के लिए कोशिश करने के लिए इस्तेमाल किया। न केवल कोड के लिए धन्यवाद, बल्कि स्पष्टीकरण के लिए। –