मैं क्या हासिल करना चाहते हैं:बाहरी पायथन लिपि द्वारा Django खोल में कोड निष्पादित करने के लिए कैसे?
मैं CLI से डेटाबेस में Django उन निष्क्रिय करने के लिए एक अजगर स्क्रिप्ट बनाने के लिए करना चाहते हैं। मैं इसके साथ आया:
$ sudo python manage.py shell
>>> user = User.objects.get(username=FooBar)
>>> user.is_active = False
>>> user.save()
>>> exit()
उपरोक्त कोड काम करता है जब मैं मैन्युअल रूप से मैन्युअल आदेश कमांड के बाद दर्ज करता हूं। हालांकि, मैं
$ sudo python script.py
अब मैं कोशिश की है diffirent की तरह एक .py लिपि में आदेश पर अमल कर दिया चाहते हैं aproaches:
os.system("command1 && command2 && command3")
subprocess.Popen("command1 && command2 && command3", stdout=subprocess.PIPE, shell=True)
समस्या:
यह काम नहीं करता है! मुझे लगता है कि यह समस्या यहां है क्योंकि पाइथन खोले गए Django खोल (पहले कमांड) खत्म होने तक प्रतीक्षा करता है जो कभी नहीं होता है। यह स्क्रिप्ट में शेष आदेशों को निष्पादित नहीं करता है क्योंकि पहला कमांड इसे होल्ड में रखता है।
subprocess.popen
शैल में कमांड निष्पादित कर सकता है लेकिन केवल पायथन शेल में, मैं Django खोल का उपयोग करना चाहता हूं।
कोई भी विचार कस्टम कोड निष्पादन के लिए एक .py स्क्रिप्ट के साथ Django खोल को कैसे पहुंचा सकता है?
कैसे के बारे में 'अजगर manage.py खोल चलाने
falsetru