PyCharm代码检查抱怨模板文件未找到,如何修复?

时间:2014-01-01 21:46:57

标签: django django-templates django-views 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支持页面上,启用Django支持已启用, Django项目根目录设置并且管理脚本值都是正确的。

那么,为什么我会收到警告?根据{{​​3}},我可以明确标记模板目录,然后警告消失,但为什么必须?考虑到项目的settings.py文件,为什么PyCharm无法自动计算出来?

项目在this PyCharm doc page,如果您需要查看其他文件。

6 个答案:

答案 0 :(得分:80)

只需打开project view(查看 - >工具窗口 - >项目)。右键单击您的templates - 文件夹 - > '将目录标记为' - >模板目录

答案 1 :(得分:14)

如果您没有,请尝试将TEMPLATE_LOADERS添加到您的设置文件中。我认为PyCharm会查找它并且不会从Django默认设置加载它。它解决了我的问题。

settings.py:

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

答案 2 :(得分:3)

如果您已将目录标记为模板目录,但仍收到警告,则可以尝试将单引号更改为双引号

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

更改为此:

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

希望这会有所帮助。

答案 3 :(得分:2)

我正在使用PyCharm 2018.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. Templates上单击Mark as。在Mac中,您也可以按alt+Tenter image description here

  4. 单击“确定”以应用所做的更改。

答案 4 :(得分:1)

当我从设置中为项目目标分配“ Django项目根目录”时,此问题已修复。

答案 5 :(得分:0)

由于忘记在settings.INSTALLED_APPS中包含我的应用,我遇到了类似的问题。将我的应用程序添加到列表中清除了检查。