我一直在把头发拉过来,我是使用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',
],
},
},
]
非常感谢任何帮助!
答案 0 :(得分:0)
确保您设置&#34; Project Interpreter&#34;正确: https://www.jetbrains.com/help/pycharm/configuring-python-interpreter.html
答案 1 :(得分:0)
我已经解决了这个问题,结果证明我的观点是愚蠢的。 我在渲染而不是标题时链接到index.html,这应该是扩展的工作方式。