Ich habe kürzlich Django von v1.3.1 auf v1.4 aktualisiert.
In meinem alten settings.pyhabe ich
TEMPLATE_DIRS = (
os.path.join(os.path.dirname( __file__ ), 'templates').replace('\\', '/'),
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)
Dies wird darauf hinweisen /Users/hobbes3/Sites/mysite/templates, aber da Django v1.4 den Projektordner auf die gleiche Ebene wie die App-Ordner verschoben hat , befindet sich meine settings.pyDatei jetzt in /Users/hobbes3/Sites/mysite/mysite/statt /Users/hobbes3/Sites/mysite/.
Eigentlich ist meine Frage jetzt zweifach:
- Wie verwende ich
os.pathin einem Verzeichnis einer Ebene suchen oben aus__file__. Mit anderen Worten, ich möchte/Users/hobbes3/Sites/mysite/mysite/settings.pyfinden/Users/hobbes3/Sites/mysite/templatesmit relativen Pfaden. - Sollte ich das sein halten
templateOrdner (die Quer App - Vorlagen hat, wieadmin,registrationetc.) auf/User/hobbes3/Sites/mysiteProjektebene oder auf/User/hobbes3/Sites/mysite/mysite?
settings.pyauf mehreren Servern verwende. Der einzige Unterschied könnten die Datenbankanmeldeinformationen sein. Ich habe die os.pathDokumentation gelesen , aber keinen Befehl gefunden, mit dem Sie ein Verzeichnis aufrufen können. Wie cd ...
os.path.join( os.path.dirname( __file__ ), '..' ) ..bedeutet , das Verzeichnis über das ganze Dateisystem, nicht nur , wenn übergeben cd.
os.path.join( os.path.dirname ( __file__), os.path.pardir)
oszucdzu../mysite? Oder was auch immer Sie wollen