最近、Djangoをv1.3.1からv1.4にアップグレードしました。
私の老人settings.py
には
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.
)
これはポイントします/Users/hobbes3/Sites/mysite/templates
が、Django v1.4はプロジェクトフォルダーをアプリフォルダーと同じレベルに移動したため、私のsettings.py
ファイルはでは/Users/hobbes3/Sites/mysite/mysite/
なくになりました/Users/hobbes3/Sites/mysite/
。
だから実際に私の質問は2つになりました:
os.path
から1つ上のレベルのディレクトリを見るにはどうすればよいですか__file__
。つまり、相対パスで/Users/hobbes3/Sites/mysite/mysite/settings.py
検索/Users/hobbes3/Sites/mysite/templates
したい。- 私は維持されなければならない
template
(クロスアプリテンプレートなどがあるフォルダadmin
、registration
プロジェクトでは、など)/User/hobbes3/Sites/mysite
のレベルかでは/User/hobbes3/Sites/mysite/mysite
?
settings.py
複数のサーバーで同じものを使用しているため、パスをハードコーディングしないようにしています。唯一の違いは、データベース資格情報です。os.path
ドキュメントを読んでいましたが、1つ上のディレクトリに移動するコマンドが見つかりませんでした。のようにcd ..
。
os.path.join( os.path.dirname( __file__ ), '..' )
..
は、に渡されcd
たときだけでなく、ファイルシステム全体の上のディレクトリを意味します。
os.path.join( os.path.dirname ( __file__), os.path.pardir)
os
にcd
しますか../mysite
?または、任意のコマンド