无法让PyCharm Django项目读取和显示Django模板语言标签

时间:2017-12-07 11:03:21

标签: python html django templates pycharm

我一直在把头发拉过来,我是使用Django进行网页开发的新手,我从未在PyCharm中设置过Django项目。它是Django v2.0和PyCharm 2017.3。

我有一个基本项目,其中包含两个应用程序,例如,我们可以调用一个Test和一个TestProj。测试是settings.py所在站点的核心,TestProj是我希望添加模板的地方。

测试urls.py指向TestProj urls.py,在请求时,它将html文件提供给站点的根URL。此内容位于名为Test的文件夹中,该文件夹位于TestProj

中的模板文件夹中

本质上目录结构如下:

Test  >
    settings.py etc
TestProj  >
    templates  >
        Test  >
            index.html
            header.html
    other python files are here!

index.html文件服务正常但是当我尝试使用Django模板链接另一个html文件时会出现问题。这是index.html:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Test</title>
    </head>
   <body>
       <div>
           {% block content %}
           {% endblock %}
       </div>
   </body>
</html>

这是标题html,它位于相同的模板目录中:

{% extends 'Test/index.html' %}

{% block content %}
    <p>Hello World</p>
{% endblock %}

index.html是正常的,但出于某种原因无论我做什么 index.html中的Django {%block content%}似乎没有评估。因此,我的index.html在使用Pycharm的浏览器中提供时,它有一个空体而不是Hello World。

模板中的Test文件夹在PyCharm中被标记为模板文件夹,所以我不明白为什么会这样。我也选择Django作为PyCharm设置中的模板语言,我尝试重新安装PyCharm。还根据我的知识正确配置了settings.py模板,如下所示:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'TestProj/templates/Test')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

确保您设置&#34; Project Interpreter&#34;正确: https://www.jetbrains.com/help/pycharm/configuring-python-interpreter.html

答案 1 :(得分:0)

我已经解决了这个问题,结果证明我的观点是愚蠢的。 我在渲染而不是标题时链接到index.html,这应该是扩展的工作方式。