2009-04-23 9 views
7

J'ai mis le répertoire de site créé par django-admin startproject sous le contrôle de version (Mercurial). Disons que le site s'appelle frobnicator.Comment définir la valeur correcte pour le paramètre Django ROOT_URLCONF dans différentes branches

Maintenant, je veux faire quelques refactoring sérieux, donc je clone le site en utilisant la commande

hg clone frobnicator frobnicator-refactoring` 

mais ROOT_URLCONF dans settings.py dit encore frobnicator.urls. Y at-il une meilleure façon de résoudre ce problème plutôt que de déplacer le site dans un répertoire wrapper et de stocker ce répertoire sous contrôle de version (pour conserver le même nom de site après branchement) ou en utilisant des branches locales?

+0

Comment est-ce un problème? Vous devez toujours mettre à jour les valeurs de chaîne dans vos paramètres. Pourquoi ce paramètre devrait-il être différent? Quel "meilleur" imaginez-vous? Quelles chaînes sont en train d'être révisées automagiquement? –

+2

Non, mais peut-être un moyen de calculer la valeur de façon dynamique. Pourquoi n'est-il pas calculé par défaut? –

+0

"calculé par défaut"? Par la commande clone de Mercurial? Comment Mercurial connaîtrait-il (a) Python, (b) Django et (c) que vous vouliez le changer, pas copié comme il était? –

Répondre

13

Supprimer simplement la forme du nom de projet ROOT_URLCONF définition - elle est facultative. Ensuite, vous pouvez avoir un dossier de projet avec des noms différents.

+0

Oui, cela fonctionne en effet! J'aurais dû essayer ça avant de poster la question! –

+1

Oui, je n'ai jamais compris pourquoi les docs Django semblent recommander le codage en dur du nom de votre répertoire de projet dans vos paramètres, quand ce n'est pas nécessaire. –

+0

Carl: car une fois que vous avez passé des projets très simples/d'introduction, il est peu probable que vous ayez un "répertoire de projet", ou des URL à l'intérieur. –

Questions connexes