2011-01-25 28 views
15

desidero eseguire un comando attraverso la funzione di shell manage.py di Django unicamente dalla linea di comandoEseguire una shell di comando Django dalla riga di comando

esempio

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

il modo in cui è venuto è possibile utilizzare l'opzione -c con il normale interprete Python

esempio

python -c "print 'hello world'" 

Tuttavia, non vedo un'opzione -c equivalente per manage.py shell. C'è un modo per fare questo?

+0

Si prega di non fare. Si prega di scrivere un file di script a due righe. –

+1

[vedere i comandi di amministrazione personalizzati] (http://docs.djangoproject.com/en/dev/howto/custom-management-commands/) – virhilo

+0

cmon, che è statico e noioso. vedere la soluzione di tubazione di seguito. – kraiz

risposta

32

pipe;)

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

o se si desidera utilizzare un file: 'cat my_script.py | python manage.py shell' – Alexandre

+0

Non so perché, ma non funziona per me. Sono costretto a usare 'echo" $ (cat my_script.py) "| python invece di manage.py shell. – christianbundy

+0

Questo non funziona con indentation :( – frnhr

Problemi correlati