私はvirtualenvを使用しています。settings.py
のTEMPLATE_DIRS
が何であるべきかを知りたいと思っています。例えば、プロジェクトフォルダのルートにテンプレートフォルダを作成します。virtualenvを使用している場合のdjango settings.pyのTEMPLATE_DIRSのパス
答えて
テンプレートフォルダの絶対パスを指定する必要があります。 Windowsの場合でも常にスラッシュを使用してください。
たとえば、プロジェクトフォルダがある場合は、 "/ホーム/ djangouser /プロジェクト/ myprojectに"(Linux)または 'C:\プロジェクト\ MyProjectと\'(Windowsの場合)、あなたのTEMPLATE_DIRSは次のようになります。
# for Linux
TEMPLATE_DIRS = (
'/home/djangouser/projects/myproject/templates/',
)
# or for Windows; use forward slashes!
TEMPLATE_DIRS = (
'C:/projects/myproject/templates/',
)
また、指定したPROJECT_ROOT変数を使用して、テンプレートフォルダの相対パスに絶対パスを結合することによって生成することもできます。これは、プロジェクトを別の場所にコピーする場合にのみ、PROJECT_ROOTを変更する必要があるという利点があります。あなたはそれを動作させるためにosモジュールをインポートする必要があります。
PROJECT_DIRが定義されていない# add at the beginning of settings.py
import os
# ...
TEMPLATE_DIRS = (
os.path.join(PROJECT_ROOT, 'templates/'),
)
... PROJECT_DIRは変数ではありません。フォルダ "templates"が置かれている場所へのディレクトリ/ aパス。あなたがDjangoの1.9を使用している場合、これは
import os
PROJECT_DIR = os.path.dirname(os.path.dirname(__file__))
TEMPLATE_DIRS = os.path.join(PROJECT_DIR, 'templates')
を助けるべきで、BASE_DIR代わりのPROJECT_DIRを使用することをお勧めします。あなたはジャンゴの新しいバージョンで作業している場合
# add at the beginning of settings.py
import os
# ...
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates/'),
)
あなたは、テンプレート]の下のsettings.py内にあるDIRリストに追加する必要があります。
これをweb/settings.pyに追加すると、すべてが解決されました。それがあなたにも役立つことを願っています。
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
from os.path import join
TEMPLATE_DIRS = (
join(BASE_DIR, 'templates'),
)
これは既に投稿された回答とどのように異なっていますか?あなたがしたのは、完全な 'os.path.join()'スペルを使用するのではなく、グローバルとしてバインド 'join'でした。 –
私はすでに投稿された回答を使用しました。私はBASE_DIRが見つからないというエラーが出る可能性があります – ninyesiga
'BASE_DIR'は単なる名前です(Django 1.9のプロジェクトテンプレートのように見えますが、今では名前を定義しています。https://github.com/django/django/blobを参照)。 /master/django/conf/project_template/project_name/settings.py-tpl)。 [virtualenvを使用するときはdjango settings.pyのTEMPLATE \ _DIRSのパスは何ですか](// stackoverflow.com/a/24706023)、まったく同じ値のために 'PROJECT_DIR'という名前を使用しました。 –
- 1. Djangoパッケージを使用している場合、TemplateDoesNotExist
- 2. Djangoのsettings.pyとマルチデータベースヘルプ
- 3. Djangoで{%url%}を使用している場合のNoReverseMatch
- 4. PycharmのvirtualenvをDjango IDEとして使用する
- 5. 従来のDjangoプロジェクトでvirtualenvを使用
- 6. Djangoのメディアは私のsettings.py、
- 7. テンプレートのDjango settings.py変数
- 8. Djangoはvirtualenv内から正しいPythonインスタンスを使用していません
- 9. DjangoテナントとDjango Guardianの設定settings.py
- 10. Python - virtualenvにインストールされているdjangoを使用しています
- 11. 異なるOSシステムで同じpython virtualenvを使用した場合の効果
- 12. Django Bower Install Virtualenv
- 13. Django virtualenvのレイアウト
- 14. に使用する場合は、 `/`と `\`パスに関してはPython
- 15. Djangoの静的ファイルとsettings.pyのファイルパス
- 16. 絶対パスと相対パスをPythonで使用する場合
- 17. react + webpackを使用している場合、絶対パスを使用してカスタムscssをインポートする方法は?
- 18. virtualenvを使ってHeroku用のDjangoアプリを作成する際のトラブル
- 19. RecursionError:工場の少年を使用している場合
- 20. NoClassDefFoundErrorを使用している場合
- 21. チェックルータコンセントを使用している場合
- 22. 私はPythonのオブジェクトを使用してデータベースを指定していsettings.py
- 23. Djangoでsettings.pyを使用してms SQLサーバに接続するにはどうしたらいいですか?
- 24. Djangoのテストクライアントは特定のvirtualenvを使用できますか?
- 25. Django、Angle、Gulpを使用する場合のCORSの処理
- 26. Djangoのビューベースのキャッシュをauthedユーザーで使用する場合
- 27. DjangoでDropzoneJSを使用した場合のMultiValueDictKeyError
- 28. DjangoモデルでEnum(Python 3.5)を使用した場合のAttributeError
- 29. Djangoのエラーで、virtualenvの
- 30. ピップはvirtualenvのは、Djangoの
答えに感謝します。 PROJECT_ROOTは2番目の答えに定義されていません。 – weaveoftheride
私のプロジェクトフォルダは/ Users/andrewwelch/Sites/env /にあり、リモートサーバに置いた場合、これを変更しなければならないと思います。 – weaveoftheride
ええ、私のせいです。私はPROJECT_ROOTが標準変数ではなく、私が検索したsettings.pyに私が追加したことに気付きました。これは基本的にはここの提案と同じです:http://stackoverflow.com/questions/4919600/django-project-root-self-discovorey – eminor