2009-04-23 9 views
7

Ho messo la directory del sito creata da django-admin startproject sotto controllo di versione (Mercurial). Diciamo che il sito si chiama frobnicator.Come impostare il valore corretto per l'impostazione di Django ROOT_URLCONF in diversi rami

Ora voglio fare qualche seria refactoring, quindi clonare il sito utilizzando il comando

hg clone frobnicator frobnicator-refactoring` 

ma ROOT_URLCONF in settings.py ancora dice frobnicator.urls.

C'è un modo migliore per superare questo problema piuttosto che spostare il sito in una directory wrapper e archiviare questa directory sotto controllo di versione (per mantenere lo stesso nome del sito dopo la diramazione) o utilizzando le filiali locali?

+0

Come si presenta questo problema? Devi sempre aggiornare i valori stringa nelle tue impostazioni. Perché questa impostazione dovrebbe essere diversa? Cosa "meglio" stai immaginando? Quali stringhe vengono riviste automaticamente? –

+2

No, ma forse un modo per calcolare dinamicamente il valore. Perché non è calcolato per impostazione predefinita? –

+0

"calcolato per impostazione predefinita"? Dal comando clone di Mercurial? Come potrebbe Mercurial sapere (a) Python, (b) Django e (c) che tu volevi che fosse cambiato, non copiato com'era? –

risposta

13

Rimuovere semplicemente il nome del modulo di progetto ROOT_URLCONF definizione - è facoltativo. Quindi puoi avere una cartella di progetto con nomi diversi.

+0

Sì, funziona davvero! Avrei dovuto provare prima questo prima di pubblicare la domanda! –

+1

Sì, non ho mai capito perché i documenti di Django sembrano raccomandare di codificare il nome della directory del progetto nelle impostazioni, quando semplicemente non è necessario. –

+0

Carl: perché una volta che ti sei laureato a progetti molto semplici/introduttivi, è improbabile che tu abbia una cosa come una "directory di progetto" o degli URL al suo interno. –

Problemi correlati