2011-01-25 44 views
15

Tôi muốn thực hiện lệnh thông qua chức năng shell.py của Django chỉ từ dòng lệnhThực hiện Lệnh Django Shell từ Dòng lệnh

ví dụ:

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

đã đến theo cách mà bạn có thể sử dụng tùy chọn -c với trình thông dịch Python bình thường

ví dụ

python -c "print 'hello world'" 

Tuy nhiên, tôi không thấy tùy chọn -c tương đương cho manage.py shell. Có cách nào để làm việc này không?

+0

Xin đừng. Vui lòng viết tệp tập lệnh hai dòng. –

+1

[xem lệnh quản trị tùy chỉnh] (http://docs.djangoproject.com/en/dev/howto/custom-management-commands/) – virhilo

+0

cmon, đó là tĩnh và nhàm chán. xem giải pháp đường ống dưới đây. – kraiz

Trả lời

6

Không phải như vậy. Nhưng thật dễ dàng để viết một số standalone script for Django.

+4

Liên kết có xu hướng hết hạn ... ví dụ về mã ở đây tốt hơn. – JSmyth

32

ống nó;)

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

hoặc nếu bạn muốn sử dụng tệp: 'cat my_script.py | python manage.py shell' – Alexandre

+0

Tôi không chắc tại sao, nhưng điều đó không hiệu quả đối với tôi. Tôi buộc phải sử dụng 'echo '$ (cat my_script.py)" | thay vào đó hãy sử dụng python manage.py shell. – christianbundy

+0

Điều này không hoạt động với thụt đầu dòng: ( – frnhr

Các vấn đề liên quan