Django-自动化某些模板行为



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

非常感谢你的指点。

您一定会喜欢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 %}

但哈米什是对的,请检查医生:https://docs.djangoproject.com/en/dev/topics/templates/

最新更新