我一直在将头发拔出来,这是新手使用Django进行Web开发的新手,而且我从未在Pycharm中设置Django项目。是Django v2.0和Pycharm 2017.3。
我有一个基本项目,该项目由两个应用程序组成,例如,请致电一个测试和一个testproj。测试是设置位置的网站的核心,而TestProj是我希望添加模板的位置。
测试urls.py指向testproj urls.py,当要求时,该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 templating在另一个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。
模板中的测试文件夹标记为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',
],
},
},
]
任何帮助都将不胜感激!
确保正确设置"项目解释器":https://www.jetbrains.com/help/pycharm/configuring-python-interpreter.html
我已经解决了这个问题,事实证明这是我的观点。当渲染而不是标头时,我正在链接到index.html,这据说是扩展的工作方式。