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

Sto*_*ica 34 django django-templates django-views pycharm

我是PyCharm的新手,我正在尝试将它用于Django开发.我的应用程序结构如下:

bs3app/
??? __init__.py
??? templates
?   ??? home.html
??? urls.py
??? views.py
Run Code Online (Sandbox Code Playgroud)

bs3app/views.py,我得到一个警告:

找不到模板文件'home.html'

源代码:

from django.shortcuts import render_to_response


def home(request):
    return render_to_response('home.html')
Run Code Online (Sandbox Code Playgroud)

模板文件在那里bs3app/templates/home.html.该home视图可以正常工作,当我运行的网站.在项目的Django支持页面上,启用了Django支持,Django项目根目录,设置管理脚本值都是正确的.

那么,为什么我会收到警告?根据这个PyCharm doc页面,我可以明确地标记模板目录然后警告消失,但为什么我必须这样做?考虑settings.py到项目的文件,为什么PyCharm不能自动计算出来?

如果你需要查看其他文件,该项目在GitHub上.

Pro*_*e85 86

只需打开project view(view->工具窗口 - >项目).右键单击您的templates--folder - >'标记目录为' - >模板目录

  • 我的Pycharm 3识别出这个文件夹.你可以尝试点击`file-> invalidate caches`我只看了你的项目.django 1.6提供了创建项目模板的选项,请参阅:http://www.maykinmedia.nl/blog/2013/jun/6/customizing-django-startproject-templates/或查看此repo(非常简单)https ://github.com/iliggio/django_project_template你可以使用`django-admin.py startproject --template'/ path/to/projtemplate'projectname或文档启动一个项目:https://docs.djangoproject.com/en的/ dev/REF/Django的管理员/#Django的管理选项---模板 (4认同)
  • 我知道这与这个问题没有直接关系,但我认为它可能会帮助其他遇到我同样问题的人:如果您正在编写 **Flask 应用程序**,则要选择的模板语言是 **Jinja2** (2认同)

Arm*_*ani 16

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

settings.py:

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
)
Run Code Online (Sandbox Code Playgroud)

  • 这个答案可能需要一些编辑,让人们知道它不是新 Django 的有效答案。像我这样的菜鸟最终会花很多时间在上面 (2认同)

小智 5

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

def home(request):
    return render_to_response('home.html')
Run Code Online (Sandbox Code Playgroud)

改成这样:

def home(request):
    return render_to_response("home.html")
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。