Le credenziali sono una questione di fiducia. Se non ti fidi dei tuoi sviluppatori per una ragione qualsiasi, tienili alla larga dalle macchine corrispondenti. Se questa è una buona idea non è l'argomento di questo post.
Non c'è bisogno di credenziali di produzione di hard code in un file django settings.py
.
1) Una possibile soluzione è avere un global_settings.py
dove puoi canonicamente definire i valori predefiniti per tutto. E gli sviluppatori usano il loro settings.py
personalizzato che ha un'importazione globale di queste impostazioni e sovrascrive queste impostazioni predefinite con le credenziali degli sviluppatori sulle loro macchine.
global_settings.py
è controllato dalla versione mentre settings.py
non lo è. Per semplificarti la vita, potresti fornire un settings.py.example
per fare saggi suggerimenti sulla configurazione predefinita. Il global_settings.py
potrebbe contenere solo SQLite -Supporto, dove come settings.py.example
potresti fornire una possibile configurazione per Postgres senza credenziali.
Lo stesso vale per gli OP, che a loro volta hanno il proprio settings.py
per la produzione.
2) Un'altra possibilità sarebbe usare environment variables
dove sono definite le credenziali.
3) Esistono sistemi più complessi come Hashicorps Vault .
Il modo in cui scegli dipende da te.