0

所以基本上我是最近从 PHP 转换到 Django(和 Python)的人。在 PHP 中,我习惯于将许多事情自动化,尤其是在编写 HTML 时,我曾经能够编写诸如此类的命令,<?php get_head() ?>并且它会获取HTML 页面meta内需要的所有信息。<head></head>Django 中是否内置了任何此类功能,还是我必须手动编写所有 HTML?

非常感谢您的任何指点。

4

1 回答 1

1

你会喜欢extendsblock标签。

假设您已经有了一个模板页面,您可以像这样提取 HTML 页面的基本设置:

创建一个名为base.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>{% block title %}{% endblock %}</title>
    {% block head %}{% endblock %}
  </head>
  <body>
    {% block body %}
      Empty page.
    {% endblock %}
  </body>
</html>

现在,在名为 的页面模板中page.html,您可以扩展基本模板并覆盖任何块:

{% extends "base.html" %}
{% block title %}Page 1 title{% endblock %}
{% block body %}
   Real page content.
   {% block main %}
      Subpage of page.html can also override this main block.
   {% endblock %}
{% endblock %}

但是 Hamish 是对的,请查看文档: https ://docs.djangoproject.com/en/dev/topics/templates/

于 2013-08-14T00:40:39.830 回答