Development #5703
Rendre le settings configurable
100%
Description
Pour le moment on ne peut quasiment rien configurer dans le settings, il n'y a seulement que quelques rares variables qui sont configurables via des variables d'environement.
Au lieu de partir sur des variables d'environement je pense que le mieux serait de reprendre la même façon de faire le settings que sur passerelle et de gérer la configuration dans un fichier python sélectionné soit avec une variable d’environnement soit avec une option du manage.py
Avant de proposer un patch je veux bien qu'on me valide cette façon de faire.
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 9 ans
Je valide; on a déjà dit qu'on migrait tout sur ce modèle.
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Fichier 0001-settings-use-new-method-to-manage-settings.patch 0001-settings-use-new-method-to-manage-settings.patch ajouté
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a plus de 9 ans
Il y a encore des bouts de configuration pour les tenants dans default_settings, il faudrait les déplacer dans tenant_settings non ?
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Fichier 0001-settings-use-new-method-to-manage-settings.patch ajouté
Ce nouveau patch enlève les bouts sur les tenants dans le default_settings et j'ai également essayé d'avoir un tenant_settings.py plus proche de celui de passerelle. J'ai également enlevé le code pour le local_settings.
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Fichier
0001-settings-use-new-method-to-manage-settings.patchsupprimé
Mis à jour par Jérôme Schneider il y a plus de 9 ans
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Fichier 0001-settings-use-new-method-to-manage-settings.patch 0001-settings-use-new-method-to-manage-settings.patch ajouté
Un nouveau patch qui intègre les modifications du manage.py de passerelle (#5752).
Mis à jour par Thomas Noël il y a plus de 9 ans
en relisant, je préfère qu'on fasse tout pareil que passerelle (avec la même "magie" et les mêmes bogues éventuels ;) ):
- il manque le
DATABASES['default']['ENGINE'] = 'tenant_schemas.postgresql_backend'
à la fin de tenant_settings.py - dans le
manage
il faut faire unif config_file:
pour ne pas mettre de variable d'environnement inutile si y'a pas de config_file - je vois aussi un os.environ.get('MULTITENANT_TEMPLATE_DIRS', '.'), certainement à flinguer ?
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Fichier 0001-settings-use-new-method-to-manage-settings.patch 0001-settings-use-new-method-to-manage-settings.patch ajouté
Nouveau patch pour les trois points suivants.
Thomas Noël a écrit :
en relisant, je préfère qu'on fasse tout pareil que passerelle (avec la même "magie" et les mêmes bogues éventuels ;) ):
- il manque le [...] à la fin de tenant_settings.py
Ce n'était pas vraiment un manque mais je n'avais pas fait comme passerelle. J'avais supprimé cette magie en demandant explicitement un tenant_schemas.postgresql_backend. Mon nouveau patch fait comme dans passerelle vu que j'arrive après la bataille mais je continue de préférer l'utilisation du vrai backend dans les settings et non un truc magique qui remplace le backend postgresql_psycopg2 par tenant_schemas.postgresql_backend.
- dans le
manage
il faut faire unif config_file:
pour ne pas mettre de variable d'environnement inutile si y'a pas de config_file
Bien vu (c'est corrigé dans le nouveau patch).
- je vois aussi un os.environ.get('MULTITENANT_TEMPLATE_DIRS', '.'), certainement à flinguer ?
Effectivement c'est flingué.
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Statut changé de En cours à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit cee7c0d27b3b670064a079423923f572b66f3a76.
Mis à jour par Jérôme Schneider il y a plus de 9 ans
- Statut changé de Résolu (à déployer) à Fermé
settings: use new method to manage settings
Closes #5703