Seite 1 von 1
django Porjekt umbenennen
Verfasst: Donnerstag 26. März 2009, 10:07
von würmchen
Hi Leute,
ich hab ein Projekt in Django entwickelt und würde es gerne umbenennen.
Es wurde damals ein Ordner "projektname" angelegt und den würde ich eben gerne in etwas treffenderes umbenennen. Wenn ich den Ordner einfach umbenenne dann funktionieren alle imports nicht mehr.
Kann mir da jemand einen Tipp geben?
Verfasst: Donnerstag 26. März 2009, 10:08
von Leonidas
Imports mit anpassen, was denn auch sonst.
Verfasst: Donnerstag 26. März 2009, 10:56
von würmchen
Ok, war mit einem
Code: Alles auswählen
find ./ -type f -name '*.py' -exec sed -i 's/oldproject\./newproject\./g' {} \;
dann auch nicht so schwer, danke
Verfasst: Freitag 27. März 2009, 00:06
von apollo13
Und ab jetzt den Projektnamen komplett weglassen! Denn der verhindert pluggable Apps...
Verfasst: Freitag 27. März 2009, 13:25
von sma
Dann muss man allerdings ggf. ein bisschen mit den Pfaden in manage.py spielen. Ein Tipp wäre, sich anzuschauen, wie
Pinax das Problem löst. Als ich geschaut hatte, haben die ein "apps"-Verzeichnis für alle Anwendungen in den Pfad eingetragen. Alles per setup.py in den Systempfad von Python zu installieren fände ich als mögliche Alternative nicht so gut.
Stefan
Verfasst: Freitag 27. März 2009, 13:35
von apollo13
musst du nicht, der ordner indem sich manage.py befindet wird automatisch in den pythonpfad geschmissen...
Verfasst: Freitag 27. März 2009, 13:55
von sma
Den Ordner will ich mir aber nicht vollmüllen. Ich liebe es da sauber und habe da nur manage.py, settings.py, urls.py, apps/, templates/, media/ und die Entwicklungsdatenbank liegen. Habe ich mir so von Pinax abgeschaut.
Stefan
Verfasst: Freitag 27. März 2009, 16:49
von apollo13
Klar, die Apps müssen nur irgendwo am Pythonpath liegen, das ganze manage.py ist ja nur ein schnelles startup für Leute die keinen Plan haben; lehrt aber ansich falsches...
Verfasst: Samstag 28. März 2009, 11:03
von sma
apollo13 hat geschrieben:Klar, die Apps müssen nur irgendwo am Pythonpath liegen, das ganze manage.py ist ja nur ein schnelles startup für Leute die keinen Plan haben; lehrt aber ansich falsches...
Wieso? Wie ruft du denn sonst bitte "syncdb", "runserver" und die anderen Management-Befehle auf? Mehr macht das Script doch auch nicht. Was soll daran falsch sein?
Stefan
Verfasst: Samstag 28. März 2009, 18:19
von apollo13
django-admin.py --settings my_settings syncdb
Das ist ansich alles was du brauchst. Das ganze Projektgehabe ist ja nur syntaktischer Überguss und verleitet viele Anfänger auch noch dazu from my_project.my_app zu importieren, da sie nicht wissen bzw noch nicht verstehen (als python anfänger), dass eine App nur Python ist, nicht mehr und nicht weniger...
EDIT:// Diesen Beitrag von malcolmt find ich auch sehr gut:
http://www.pointy-stick.com/blog/2007/1 ... -projects/
Verfasst: Dienstag 31. März 2009, 13:53
von würmchen
Interessanter Artikel, da ich natürlich grasshopper bin hab ich alles falsch gemacht

Aber mal sehen was ich daraus lern.
Ich denke ich werde auch versuchen das /apps und /media Konzept durchzusetzen, gibt es da eine genauere Beschreibung, wie man das anstellt?
Verfasst: Dienstag 31. März 2009, 17:12
von apollo13
Nichts wovon ich auch die schnelle wüsste, aber mit etwas probieren fndest du es sicher selbst heraus.