2012-10-25 1 views
0

Je souhaite connecter Django à une base de données que l'utilisateur définira dans la page principale.Comment se connecter dynamiquement à une base de données

L'utilisateur devra préciser le moteur (avec une combobox), la base de données, le login, le mot de passe etc dans un formulaire, et je veux procéder à la connexion avec le soumettre.

Jusqu'ici, j'ai essayé de mettre "DATABASES = {}" dans settings.py, mais il renvoie une erreur.

Avez-vous la moindre idée de comment le faire?

+1

pourriez-vous élaborer un peu sur pourquoi voulez-vous cela, s'il vous plaît? – che

Répondre

0

Vous devez connecter votre application à une base de données.

Je ne connais aucun moyen de modifier la connexion à la base de données de façon dynamique. Les seules choses que je peux penser sont un peu alambiquée:

  1. Si vous souhaitez modifier votre base de données back-end: Je suggère d'avoir un fichier de réglage séparé pour la base de données (je vais l'appeler dbsettings.py) que vous inclurez dans le fichier de paramètres. Au soumettre, vous le feriez déjeuner un script qui va changer le fichier dbsettings.py et redémarrez le serveur django (avec un appel CLI par exemple)

  2. Si la base de données est utilisateur spécifique, configurer et tirer une autre instance de django, et ont les deux cas, communiquer (vous pouvez utiliser le céleri pour les commandes de messagerie ou django)

I (et d'autres personnes) peuvent trouver de meilleures solutions si nous avions un peu plus de détails

Questions connexes