2011-01-25 15 views
15

से एक Django शैल कमांड निष्पादित करना मैं Django के manage.py खोल फ़ंक्शन के माध्यम से कमांड लाइनकमांड लाइन

उदा।

manage.py shell -c "from myapp import models; print models.MyModel.some_calculation()" 

जिस तरह से आप सामान्य अजगर दुभाषिया

उदा -c विकल्प का उपयोग हो सकता है के लिए आया था

python -c "print 'hello world'" 

हालांकि, मैं manage.py shell के लिए एक बराबर -c विकल्प दिखाई नहीं देता। क्या इसे करने का कोई तरीका है?

+0

न दें। कृपया दो-पंक्ति स्क्रिप्ट फ़ाइल लिखें। –

+1

[कस्टम व्यवस्थापक आदेश देखें] (http://docs.djangoproject.com/en/dev/howto/custom-management-commands/) – virhilo

+0

cmon, यह स्थिर और उबाऊ है। नीचे पाइपिंग समाधान देखें। – kraiz

उत्तर

6

ऐसा नहीं है। लेकिन standalone script for Django लिखना काफी आसान है।

+4

लिंक समाप्त होने की संभावना है ... यहां कोड उदाहरण बेहतर है। – JSmyth

32

यह पाइप;)

echo "print 'hello world'" | python manage.py shell 
+7

या यदि आप एक फ़ाइल का उपयोग करना चाहते हैं: 'cat my_script.py | python manage.py shell' – Alexandre

+0

मुझे यकीन नहीं है कि क्यों, लेकिन यह मेरे लिए काम नहीं कर रहा है। मुझे 'echo "$ (cat my_script.py)" का उपयोग करने के लिए मजबूर किया गया है इसके बजाय python manage.py shell'। – christianbundy

+0

यह इंडेंटेशन के साथ काम नहीं करता है :( – frnhr