python - Django 1.7.6 与 Python 2.7.6 和 Virtualenv 12.0.7 (OSX10,10.2) - 模板渲染时出现模板语法错误

标签 python django python-2.7 django-templates django-settings

我对 Python 有所了解,但肯定不是专家,我目前正在学习如何在 Django 1.7 中进行开发。我已经完成了 Django 教程,正在开始我的第一个项目。

该项目只是尝试创建一个静态主页(现阶段),但我想使用 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 文件中,还创建了我的路线和 View 。

我执行了一个manage.py 检查命令,它报告代码中没有错误。

最后运行了manage.py runserver(再次没有错误)并尝试导航到Chrome(版本41.0)中的页面,我收到一个TemplateSyntaxError异常,其值为“未关闭的标记'block'。正在寻找其中之一:endblock” 。

我的 View 似乎工作正常,因为我可以在堆栈跟踪中看到一些 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.6 与 Python 2.7.6 和 Virtualenv 12.0.7 (OSX10,10.2) - 模板渲染时出现模板语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29111590/

相关文章:

Python 和网络标签正则表达式

python - win32com DLL 加载失败

Python 模块 turtle 未正确导入

python-2.7 - 即使已安装,也没有名为 gevent 的模块

django - 如何向将存储在数据库中的 Django 字段添加附加描述?

python - 导入错误 : No module named QtWebKit

python - pip 可以使用现有的包而不是重新下载吗?

python - 无法为 apache Airflow 安装附加要求

django - 如何模拟已删除的自定义字段以便向南迁移运行?

django - 在 Django View 中获取当前 url