pythondjangogithubsecret-key

hiding secret key in django project on github after uploading project


I uploaded my django project on github and I have a lot of commits on my project.

I don't want to delete my project and reupload it again.

what is the easiest way to hide secret key after uploading project to github and after a lot of commits?


Solution

  • In the same directory where manage.py is, create a file whose name is .env, and put inside it:

    SECRET_KEY = '....your secret key ....' # --- the one indicated in your settings.py, cut an paste it here
    

    where SECRET_KEY = '....your secret key ....' is the one indicated in your settings.py.
    So cut this line from your settings.py and paste it in the .env file.

    In the same directory, create a file whose name is .gitignore, and put inside it:

    .env
    

    Then in your settings.py, where previously you had SECRET_KEY = '....your secret key ....', put:

    from decouple import config
    
    SECRET_KEY = config("SECRET_KEY") # this is to replace the secret key you cut away before
    

    then in your command prompts run:

    pip install python-decouple
    pip freeze > requirements.txt
    

    then add, commit and push on Github.

    Here you can find out more information on how .gitignore works.