Django mit Mercurial

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
würmchen
User
Beiträge: 255
Registriert: Mittwoch 7. November 2007, 14:17

Donnerstag 4. Dezember 2008, 15:10

Hallo Leute,
wollte meine Änderungen mit Mercurial dokumentieren und naja, jetzt wollte ich zum ersten mal ein Projekt clonen und stoße da auf verschiedene Probleme.

Das alte Projekt hieß "bif" und war auch im Ordner bif...
ich bin dann immer in den ordner und hab da den development server gestartet...

jetzt hab ich mit "hg clone bif bif_neu" versucht mir ein neues repository zu erstellen und wollte dann in dem den server starten und er sagt mir "ImportError: No module named bif"

Wie gehe ich sowas an? Damit ich mir leicht solche repositorys erstellen kann ohne dann viel ändern zu müssen.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 4. Dezember 2008, 17:57

Das Modul heißt also bei dir bif_neu. Lösung: alles in einen Unterordner schieben und in diesen den ``bif``-Ordner stecken.

Persönlich habe ich das ganze nochmal anders gemacht, so dass bei mir die Checkouts der Branches immer am gleichen Pfad sind, so dass ich keinerlei Konfiguration anpassen muss, wenn ich an einem anderen Branch arbeiten will.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
würmchen
User
Beiträge: 255
Registriert: Mittwoch 7. November 2007, 14:17

Donnerstag 4. Dezember 2008, 22:23

ah, ok, verstehe....

ich hab also meinen ordner den ich django nenne und in dem ist das Projekt bif (bzw. Modul)...
ich gehe dann hin und mache mein hg init im django ordner und wenn ich jetzt clone kopiere ich diesen klon irgendwo hin, weil der enthält ja mein komplettes modul?

hab jetzt einfach nen ordner neu gemacht, und das rep von bif_neu da rein geschoben und in bif umbenannt und es funktioniert...
einzige was nicht geht, die templates und ein paar andere ordner hab ich global eingetragen, die stimmen jetzt natürlich nicht mehr...
gibt es da ein trick, oder von welchem verzeichnis aus muss ich die lokal angeben, also ohne anführenden / am anfang?
ich nehme an in dem auch die settings.py datei liegt, oder?
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 4. Dezember 2008, 22:34

würmchen hat geschrieben:einzige was nicht geht, die templates und ein paar andere ordner hab ich global eingetragen, die stimmen jetzt natürlich nicht mehr...
gibt es da ein trick, oder von welchem verzeichnis aus muss ich die lokal angeben, also ohne anführenden / am anfang?
Ja, indem du die Pfade in ``settings.py`` alle relativ zu ``__file__`` machst.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Samstag 6. Dezember 2008, 12:09

Setze doch einfach ein Verzeichnis höher an: `v1/bif` wird zu `v2/bif` geklont. Den Namen, den du bei `startproject` angegeben hast, kannst du leider nicht so einfach ändern, weil Django den standardmäßig in als Teil der Modulnamen ansieht.

Du kannst dein Projekt allerdings auch ohne Projekt einfach nur aus Modulen aus dem PYTHONPATH zusammensetzen. Dann sollte auch `bif` und `bif_neu` als Verzeichnisname funktionieren, weil diese jetzt nicht Teil von Django sind. Du musst allerdings dann selbst eine `settings.py` und `urls.py´-Datei anlegen und `manage.py` sagen, wo er das settings-Modul findet.

Stefan
Antworten