Osinachi Chukwujama


Shortcut for `python manage.py` in Django

Shortcut for `python manage.py` in Django

Osinachi Chukwujama 's photo
Osinachi Chukwujama
·Dec 10, 2020·

3 min read

Subscribe to my newsletter and never miss my upcoming articles

Play this article

Life is too short to keep typing python manage.py before every command in Django.

(venv) $ python manage.py runserver
(venv) $ python manage.py migrate
(venv) $ python manage.py makemigrations

You can use one of these solutions to simplify things.

Using the Django shortcuts package

The Django shortcuts package from PyPi is the silver bullet to this problem. All you need to do is install locally.

pip install django-shortcuts

And voila you can prepend Django to single letters

'c'  : 'collectstatic', # django c
'r'  : 'runserver',
'sd' : 'syncdb',
'sp' : 'startproject',
'sa' : 'startapp',
't'  : 'test',

If you'll like to learn a thing or two about shell scripts and aliases, you can use the methods below.

Using a shell script


  1. Create a django file in bin
    sudo nano /bin/django
    You can use an alternate text editor like gedit or vi.
  2. Add this code to the file
    python manage.py "$@"
  3. Make the file executable
    $ sudo chmod a+x /bin/django
  4. Run any command you wish
    (venv) $ django runserver
    (venv) $ django migrate
    (venv) $ django makemigrations

Much easier eh?

Using a bash alias

You can use a bash alias to achieve the same thing.


  1. Open the bashrc file using a text editor
    $ gedit ~/.bashrc
  2. Add this function to the file
     python manage.py "$@"
  3. Save the file
  4. Open a new terminal (doesn't take effect in previously open terminals)
  5. Try the commands
    (venv) $ django runserver
    (venv) $ django migrate
    (venv) $ django makemigrations

Please subscribe to my newsletter to never miss a post. Thanks for reading. Adios ✌🏾🧡.

Share this