web-dev-qa-db-ja.com

PyCharmコード検査でテンプレートファイルが見つからないと文句を言う、修正方法は?

私はPyCharmを初めて使用し、Django開発に使用しようとしています。私のアプリは構造化されていますこのような:

bs3app/
├── __init__.py
├── templates
│   └── home.html
├── urls.py
└── views.py

bs3app/views.pyで、警告が表示されます。

テンプレートファイル「home.html」が見つかりません

ソースコード:

from Django.shortcuts import render_to_response


def home(request):
    return render_to_response('home.html')

テンプレートファイルはbs3app/templates/home.htmlにあります。サイトを実行すると、homeビューが正しく機能します。プロジェクトのDjango Supportページで、Enable Django Supportがオンで、Djangoプロジェクトルート設定およびManage scriptの値はすべて正しいです。

では、なぜ警告が表示されるのですか? このPyCharmドキュメントページ のように、テンプレートディレクトリを明示的にマークすると、警告が消えますが、なぜする必要があるのですか?プロジェクトのsettings.pyファイルを考えると、PyCharmがそれらを自動的に理解できないのはなぜですか?

他のファイルを表示する必要がある場合、プロジェクトは GitHub にあります。

34
janos

project viewを開くだけです([表示]-> [ツールウィンドウ]-> [プロジェクト])。 templates-folder-> 'ディレクトリを'->テンプレートディレクトリとして右クリックします。

87
ProfHase85

TEMPLATE_LOADERSがない場合は、設定ファイルに追加してみてください。 PyCharmはそれを探し、Djangoデフォルト設定からロードしないと思います。これで、私の問題は解決しました。

settings.py:

TEMPLATE_LOADERS = (
    'Django.template.loaders.filesystem.Loader',
    'Django.template.loaders.app_directories.Loader',
)
17

ディレクトリをテンプレートディレクトリとしてマークしても警告が表示される場合は、一重引用符を二重引用符に変更してみてください。

def home(request):
    return render_to_response('home.html')

これに変更:

def home(request):
    return render_to_response("home.html")

お役に立てれば。

3
sichun

PyCharm2018.2を使用しています。次の手順に従ってディレクトリをテンプレートディレクトリとしてマークすることができるので、PyCharmは警告を表示せず、cmd + B(Mac)またはctrl + B(を押してテンプレートに移動できます。 Windows/Linux):

  1. [設定]ダイアログを開き、[プロジェクト構造]ページをクリックします。 cmd + ,(macOSの場合)を使用するか、File | Settings(Windows/Linux)を選択して使用できます enter image description here

  2. テンプレートルートとしてマークするディレクトリを選択します。 enter image description here

  3. Mark asTemplatesをクリックします。 Macでは、alt+Tを押すこともできます。 enter image description here

  4. [OK]をクリックして、行った変更を適用します。

3
lmiguelvargasf

私のアプリをsettings.INSTALLED_APPSに含めるのを忘れたことが原因で、同様の問題が発生しました。私のアプリをリストに追加すると、検査がクリアされました。

1
saturdayplace