32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
from __future__ import unicode_literals
|
|
|
|
import os
|
|
|
|
from django.conf import settings
|
|
from django.core import management
|
|
from django.utils.crypto import get_random_string
|
|
|
|
|
|
class Command(management.BaseCommand):
|
|
help = 'Creates a local settings file with a random secret key.'
|
|
|
|
@staticmethod
|
|
def _generate_secret_key():
|
|
chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
|
|
return get_random_string(50, chars)
|
|
|
|
def handle(self, *args, **options):
|
|
path = os.path.join(settings.BASE_DIR, 'settings', 'local.py')
|
|
if os.path.exists(path):
|
|
self.stdout.write(self.style.NOTICE('Existing settings file at: {0}. Backup, remove this file, and try again.'.format(path)))
|
|
else:
|
|
with open(path, 'w+') as file_object:
|
|
file_object.write('\n'.join([
|
|
'from __future__ import absolute_import',
|
|
'',
|
|
'from .base import *',
|
|
'',
|
|
"SECRET_KEY = '{0}'".format(Command._generate_secret_key()),
|
|
'',
|
|
]))
|