2011-01-25 3 views
15

Я хотел бы выполнить команду с помощью функции manage.py оболочки Джанго исключительно из командной строкиВыполнение Django командной оболочки из командной строки

например

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

пришел, как вы могли бы использовать опцию -c с нормальным интерпретатора

например

python -c "print 'hello world'" 

Однако, я не вижу, эквивалентную опцию -c для manage.py shell. Есть ли способ сделать это?

+0

Пожалуйста, не. Пожалуйста, напишите файл с двумя строками. –

+1

[см. Пользовательские команды администратора] (http://docs.djangoproject.com/en/dev/howto/custom-management-commands/) – virhilo

+0

cmon, это статично и скучно. см. ниже описание трубопровода. – kraiz

ответ

6

Не так. Но достаточно просто написать standalone script for Django.

+4

Ссылки, как правило, заканчиваются ... пример кода здесь лучше. – JSmyth

32

Pipe его;)

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