8 comments

[ 3.5 ms ] story [ 30.4 ms ] thread
Just to be clear, it's like a normal:

  ssh ...
  cd <dir>
  . bin/activate
  ./manage.py shell
??

Thanks for answering :)

Kind of. But of course that depends on what your deployment strategy is. I've worked in situations where the django project was deployed via 'pip install' into a virtualenv, which means the package would have been located in a site-packages directory, and there may have been older versions there too.

Plus, using system SSH involves a degree of sysadmin work which might not be possible on a platform like Heroku, for example.

Heroku supports Django shell: heroku run python projectname/manage.py command
requires

    twisted.conch.insults
    twisted.conch.manhole
    twisted.conch.manhole_ssh
It would be nice to see this integrated into SSH's "subsystem" model. Then we could have django-shell over SSH operate much like sftp
I can't believe I'd never heard of SSH subsystems before.

I guess you could write one to invoke `manage.py shell`, and have it be deployed with your configuration management system.

why is this kind of ssh server needed? so you guys do ./manage.py shell on your production server? I don't think this is good.
When inspecting data during debugging (particularly for an issue that hasn't occurred before and doesn't have enough logging), I certainly may want something like this. Most of the time, I need permission from the sysadmin though to use my shell access in production to do these things.