最近Djangoをv1.3.1からv1.4にアップグレードしました。私はこれは/Users/hobbes3/Sites/mysite/templates
を指しますが、because Django v1.4 moved the project folder to the same level as the app foldersますPythonのos.pathを使って、どのようにして1つのディレクトリに移動できますか?
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.
)
を持っている私の古いsettings.py
で
、私settings.py
ファイルが/Users/hobbes3/Sites/mysite/mysite/
の代わり/Users/hobbes3/Sites/mysite/
になりました。
だから、実際に私の質問は今二つある:
- がどのように私は
__file__
から1つの階層上のディレクトリを見てos.path
を使用してください。つまり、/Users/hobbes3/Sites/mysite/mysite/settings.py
には、相対パスを使用して/Users/hobbes3/Sites/mysite/templates
が見つかります。 - は私がプロジェクト
/User/hobbes3/Sites/mysite
レベルまたは/User/hobbes3/Sites/mysite/mysite
で(admin
、registration
のようなクロスアプリテンプレートを持っている、など)template
フォルダを維持すべきか?
あなたは '../ mysite'に' os'から 'cd'を使うだけですか?またはあなたが望むコマンドを – prelic
@prelic Hmm?わかりません。私は複数のサーバで同じ 'settings.py'を使うので、パスのハードコーディングを避けようとしています。唯一の違いは、データベースの資格情報です。私は['os.path'ドキュメント(http://docs.python.org/library/os.path.html)を読んでいましたが、あなたは1つのディレクトリに上がるコマンドを見つけることができませんでした。 'cd ..'のように。 – hobbes3
@ hobbes3 'os.path.join(os.path.dirname(__file__)、 '..')' ..'は、 'cd'に渡されたときだけでなく、ファイルシステム全体の_ディレクトリを意味します。 –