带有 Python 2.7.6 和 Virtualenv 12.0.7 (OSX10,10.2) 的 Django 1.7.6 - 模板呈现时出现模板语法错误
Django 1.7.6 with Python 2.7.6 and Virtualenv 12.0.7 (OSX10,10.2) - Templates are rendering with a template syntax error
我对 Python 有所了解,但肯定不是专家 我目前正在学习如何在 Django 1.7 中进行开发。我已经完成了 Djangos 教程,正在开始我的第一个项目。
该项目只是试图创建一个静态主页(在这个阶段),但我想使用 html 模板语言在所有最终网站页面中获得一致的外观和感觉。
为了解决这个问题,我在项目根文件夹下的模板文件夹中创建了一个名为 base.html 的文件。此文件包含:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>(% block pagetitle %}page tile here{% endblock %}</title>
</head>
<body>
<div class="container">
{% block contents %}Page contents{% endblock %}
</div>
</body>
</html>
我还创建了一个名为 psges 的应用程序,我在其中创建了一个名为 templates 的文件夹以及另一个名为 pages 的文件夹。在此文件夹中,我创建了名为 index.html 的文件,其中包含:
(% extends 'base.html' %}
{% block pagetitle %}
Alex Pittendreigh
(% endblock %}
{% block contents %}
<h1>Welcome</h1>
<p>Cras justo odio, dapibus. Fusce dapibus, tellus ac cursus commodo,</p>
{% endblock %}
是的,我知道,基本的东西,但我想在添加样式之前获得基本功能。
我已经创建了 TEMPLATE_DIRS 条目并在站点 settings.py 文件中添加了应用程序,还创建了我的路线和视图。
我执行了 manage.py 检查命令,它报告没有代码错误。
最后 运行 manage.py 运行服务器(再次没有错误)并尝试导航到 Chrome 中的页面(版本 41.0)我得到一个值为 [= 的 TemplateSyntaxError 异常38=]。
我的视图似乎工作正常,因为我可以在堆栈跟踪中看到一些 html 代码。突出显示的行在 {% extends 'base.html' %} 行之后。
我有一份 PDF 格式的 Django 1.7 手册,还用 Google 搜索过,据我所知,我需要做的就是在我的 settings.py 文件中包含根模板文件夹的模板路径,如下所示Django 将自动搜索每个应用程序中的模板文件夹。我的设置文件中的此项包含:
TEMPLATES_DIR = [
os.path.join(BASE_DIR, 'templates'),
],
我还配置为使用 MySQL 5 数据库,但尚未使用任何代码访问它。
显然我在这里遗漏了一些东西。谁能帮忙。
您的 base.html
中有错字。注意 (%
应该是 {%
而不是:
<title>(% block pagetitle ...
我对 Python 有所了解,但肯定不是专家 我目前正在学习如何在 Django 1.7 中进行开发。我已经完成了 Djangos 教程,正在开始我的第一个项目。
该项目只是试图创建一个静态主页(在这个阶段),但我想使用 html 模板语言在所有最终网站页面中获得一致的外观和感觉。
为了解决这个问题,我在项目根文件夹下的模板文件夹中创建了一个名为 base.html 的文件。此文件包含:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>(% block pagetitle %}page tile here{% endblock %}</title>
</head>
<body>
<div class="container">
{% block contents %}Page contents{% endblock %}
</div>
</body>
</html>
我还创建了一个名为 psges 的应用程序,我在其中创建了一个名为 templates 的文件夹以及另一个名为 pages 的文件夹。在此文件夹中,我创建了名为 index.html 的文件,其中包含:
(% extends 'base.html' %}
{% block pagetitle %}
Alex Pittendreigh
(% endblock %}
{% block contents %}
<h1>Welcome</h1>
<p>Cras justo odio, dapibus. Fusce dapibus, tellus ac cursus commodo,</p>
{% endblock %}
是的,我知道,基本的东西,但我想在添加样式之前获得基本功能。
我已经创建了 TEMPLATE_DIRS 条目并在站点 settings.py 文件中添加了应用程序,还创建了我的路线和视图。
我执行了 manage.py 检查命令,它报告没有代码错误。
最后 运行 manage.py 运行服务器(再次没有错误)并尝试导航到 Chrome 中的页面(版本 41.0)我得到一个值为 [= 的 TemplateSyntaxError 异常38=]。
我的视图似乎工作正常,因为我可以在堆栈跟踪中看到一些 html 代码。突出显示的行在 {% extends 'base.html' %} 行之后。
我有一份 PDF 格式的 Django 1.7 手册,还用 Google 搜索过,据我所知,我需要做的就是在我的 settings.py 文件中包含根模板文件夹的模板路径,如下所示Django 将自动搜索每个应用程序中的模板文件夹。我的设置文件中的此项包含:
TEMPLATES_DIR = [
os.path.join(BASE_DIR, 'templates'),
],
我还配置为使用 MySQL 5 数据库,但尚未使用任何代码访问它。
显然我在这里遗漏了一些东西。谁能帮忙。
您的 base.html
中有错字。注意 (%
应该是 {%
而不是:
<title>(% block pagetitle ...