How to Run the Shell for a Django Project within AWS Elastic Beanstalk AMI

See Django: Tips and Tricks for similar articles.

I added slugs to several models after I already had data for those models. To get the slugs saved, I had to save each object corresponding to the model, which is easy programmatically, but a pain to do through the admin interface. My project runs on AWS Elastic Beanstalk, so I needed access to the shell. I found the solution here.

To run the shell for a Django app running on AWS Elastic Beanstalk, you run the following at the command line:

  1. eb ssh
  2. source /opt/python/run/venv/bin/activate
  3. source /opt/python/current/env
  4. cd /opt/python/current/app
  5. python manage.py shell

Then you can do whatever it is you need to do. For me that was:

from xyz.models import Xyz
items = Xyz.objects.all()
for i in items:
	i.save()

Then when you're ready to exit the shell and SSH, run the following:

  1. exit() - to exit the shell
  2. exit - to exit SSH

Written by Nat Dunn. Follow Nat on Twitter.


Related Articles

  1. Connecting Django and Vue
  2. Creating RSS Feeds with Django
  3. How to Run the Shell for a Django Project within AWS Elastic Beanstalk AMI (this article)