Je nachdem, wie man seine Django-Konfiguration verwaltet, stellt sich die Herausforderung, dass man einen neuen Secret-Key benoetigt. Und an der Stelle moechte ich jeden dazu raten, niemals seinen Secret Key auf mehreren Rechnern zu nutzen (ausser es ist ein Cluster, da ist es quasi ein Muss) oder gar in ein VCS zu importieren.

Da Django hier nichts spezielles vorgibt, kann der String an sich beliebig aussehen, solange er nicht leer ist. Somit kann man z.B. pwgen benutzen, wenn man sich einen neuen Key erstellen moechte. Um ebenfalls einen 50-Zeichen langen Key zu erahlten (django-admin.py startproject erzeugt einen 50 Zeichen langen Key), kann man z.B. folgendes ausfuehren:

$ pwgen -sy 50 1

Um das gleiche zu machen, wie Django auch, kann man sich folgendes Skript schreiben:

import random

random = random.SystemRandom()
chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
length = 50
print(''.join(random.choice(chars) for i in range(length)))


Christian Prehl | 7. Januar 2015 | Tags: django tipps&tricks