Пытаюсь скрыть секретный ключ django, но получаю ошибку при развертывании в PythonAnywhere
Я пытаюсь развернуть проект django. Я спрятал секретный ключ, поместив его в файл .env и добавил его в .gitignore, так что секретный ключ django у меня только локально, а не в git-репозитории. Но когда я пытаюсь развернуть проект в PythonAnywhere, возникает ошибка, потому что в репозитории нет секретного ключа (нет файла, из которого сервер мог бы прочитать секретный ключ).
Я понимаю, что нехорошо жестко кодировать ключ, но как мне получить секретный ключ для развертывания?
У меня не должно быть никакого секретного ключа в git-репозитории, верно?
У меня не должно быть секретного ключа в git-репозитории, верно?
Право.
Я понимаю, что нехорошо жестко кодировать ключ, но как мне получить секретный ключ для развертывания?
Секретный ключ можно хранить как переменную окружения или в файле, который развертывается вместе с вашим проектом. Оба варианта должны быть сделаны через ваш хост. Вот предложение Pythonanywhere для файла, который развертывается вместе с вашим проектом: https://www.pythonanywhere.com/forums/topic/14207/
Вы можете иметь отдельный файл .env на PythonAnywhere для хранения отдельного секретного ключа. Файл .env также является хорошим местом для хранения паролей базы данных PythonAnywhere и т.д. Наличие разных файлов с разными значениями локально и на PythonAnywhere имеет смысл с точки зрения безопасности. Не забудьте обновить файл PythonAnywhere .gitignore, чтобы включить его, если вы когда-нибудь будете загружать в свой git-репозиторий из PA!
Вы можете создать новый .env файл в каталоге вашего проекта через раздел PA files, и, используя ваш локальный .env файл в качестве основы, сгенерировать новое значение ключа либо путем:
$ python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
или используйте веб-инструмент, например https://djecrety.ir/