2016-12-23 8 views
1

Я написал ansible-role for openwisp2, чтобы облегчить его развертывание, это серия приложений django. Чтобы максимально облегчить развертывание, я написал простой (возможно, тривиальный) SECRET_KEY generator script, который вызывается без возможности генерировать секретный ключ при первом запуске незанятой пьесы.Есть ли функция для генерации настроек. SECRET_KEY в django?

Теперь это отлично работает, но я думаю, что он побеждает встроенные меры безопасности. Django имеет мощный силовой ключ, который также очень сложно угадать.

В то время я смотрел на другие способы сделать это, но не нашел много, теперь я задаюсь вопросом: есть функция для генерации настроек. SECRET_KEY в django?

Это позволит избежать такого рода домашних испеченных решений, которые, хотя они работают, не эффективны, когда дело доходит до безопасности.

ответ

3

Действительно, вы можете использовать ту же функцию, которая генерирует новый ключ, когда вы вызываете startproject, то есть django.core.management.utils.get_random_secret_key().

Обратите внимание, что это не очень отличается от вашей версии.

+0

Я думал, что в нее встроена еще одна защита, но я был неправ. Во всяком случае, вероятно, лучше использовать эту функцию, поскольку она может быть улучшена в будущем. – nemesisdesign

+0

Фактически 'get_random_string' немного лучше, чем моя версия: https://github.com/django/django/blob/master/django/utils/crypto.py#L54-L77 – nemesisdesign