2011-06-06 18 views
29

से कस्टम व्यवस्थापक कमांड चलाएं मेरे पास एक कस्टम व्यवस्थापक कमांड है जो रिपोर्ट को ईमेल करता है। यह आमतौर पर एक क्रॉन नौकरी से चलाता है। मैं जो करना चाहता हूं वह है मेरे वेब ऐप में एक बटन जोड़ें जो क्लिक करने पर व्यवस्थापक कमांड को वहां चलाने के लिए और फिर क्रॉन जॉब को कॉल करने के लिए इंतजार करने के बजाय। मैं यह कैसे करु? क्या मुझे कमांड लाइन पर कॉल करना है जैसेदेखें

python manage.py myadmincmd 

या क्या मैं कोड को एक दृश्य के भीतर से बुला सकता हूं? ऐसा लगता है कि यह क्लीनर होगा यदि मैं इसे कमांड लाइन में तोड़ने की आवश्यकता के बिना किसी दृश्य के भीतर से कर सकता हूं।

+2

डैनियल का कहना है के रूप में आप 'call_command' उपयोग करें या अपने कोड की संरचना कर सकते हैं ताकि दोनों प्रबंधन कमान और दृश्य किसी तीसरे समारोह वास्तव में मेल भेजने करता है कि कहते हैं। –

+1

संभावित डुप्लिकेट [मैं सीधे एक परीक्षण ड्राइवर से कस्टम Django manage.py कमांड कैसे कॉल कर सकता हूं?] (Http://stackoverflow.com/questions/907506/how-can-i-call-a-custom-django- प्रबंधन-पीई-कमांड-सीधा-से-ए-टेस्ट-ड्राइवर) – ChillarAnand

उत्तर

43

आप call_command उपयोग कर सकते हैं:

from django.core.management import call_command 
call_command('myadmincmd') 
+1

हम वेब पेज पर क्रॉन प्रतिक्रिया प्राप्त कर सकते हैं क्योंकि कमांड – PiyusG

+0

प्रसंस्करण करते समय कंसोल की बात आती है https://docs.djangoproject.com/en/1.11/ रेफरी/Django-व्यवस्थापक/# चल-प्रबंधन-आदेशों-से-अपने-कोड –

संबंधित मुद्दे