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.