小白必看!Django 模板语言进阶!
2019-09-21 11:07
1136 查看
作者 | 单雨
责编 | 胡巍巍
出品 | 程序人生(ID:coder_life)
django
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="style.css">
<title>{% block title %}My amazing site{% endblock %}</title>
</head>
<body>
<div id="sidebar">
{% block sidebar %}
<ul>
<li><a href="/">Home</a></li>
<li><a href="/blog/">Blog</a></li>
</ul>
{% endblock %}
</div>
<div id="content">
{% block content %}{% endblock %}
</div>
</body>
</html>
django
{% extends "base.html" %}
{% block title %}My amazing blog{% endblock %}
{% block content %}
{% for entry in blog_entries %}
<h2>{{ entry.title }}</h2>
<p>{{ entry.body }}</p>
{% endfor %}
{% endblock %}
django
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="style.css">
<title>My amazing blog</title>
</head>
<body>
<div id="sidebar">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/blog/">Blog</a></li>
</ul>
</div>
<div id="content">
<h2>Entry one</h2>
<p>This is my first entry.</p>
<h2>Entry two</h2>
<p>This is my second entry.</p>
</div>
</body>
</html>
创建一个 `base.html` 模板把控网站的整体风格。
为网站的每个子分类创建一个 base_SECTIONNAME.html 模板. 比如, base_news.html, base_sports.html。 这些模板都继承 base.html 模板。这些模板中包含特定的设计风格。
为每一种类型的页面创建一个模板, 比如 `news``article` 或 `blog` 内容. 这些模板扩展上一级模板的相应分类。
django
{% trans "Title" as title %}
{% block content %}{{ title }}{% endblock %}
django
{% block content %}
...
{% endblock content %}
django
Hello, {{ name }}
django
<script>alert('hello')</script>
django
Hello, <script>alert('hello')</script>
django
<b>username
django
Hello, <b>username
django
This will be escaped: {{ data }}
This will not be escaped: {{ data|safe }}
django
{% autoescape off %}
Hello {{ name }}
{% endautoescape %}
django
{% autoescape off %}
This will not be auto-escaped: {{ data }}.
Nor this: {{ other_data }}
{% autoescape on %}
Auto-escaping applies again: {{ name }}
{% endautoescape %}
{% endautoescape %}
django
{% autoescape off %}
<h1>{% block title %}{% endblock %}</h1>
{% block content %}
{% endblock %}
{% endautoescape %}
django
{% extends "base.html" %}
{% block title %}This & that{% endblock %}
{% block content %}{{ greeting }}{% endblock %}
django
<h1>This & that</h1>
<b>Hello!</b>
django
{{ data|default:"This is a string literal." }}
django
{{ data|default:"3 < 2" }}
django
{{ data|default:"3 < 2" }}
django
{% for comment in task.comment_set.all %}
{{ comment }}
{% endfor %}
python
class Task(models.Model):
def foo(self):
return "bar"
django
{{ task.foo }}
相关文章推荐
- 小白必看!Django 模板语言基础来啦
- 小白必看!Django 模板语言基础来啦
- Django学习笔记——template模板语言进阶——过滤器相关
- 初入django2 - 模板语言-ORM-ajax
- Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
- Django 模板语言: 写给模板作者
- 小白R语言数据可视化进阶练习一
- django模板语言中的extends,block和include
- Django模板进阶
- django学习笔记---模板语言继承和simple_tag
- Django模板语言(常用语法规则)
- Django学习笔记1 [路由机制,数据库orm,模板语言]
- 26.Django模板语言和分页
- Django模板语言-1:一个完整的数据获取例子
- Django模板语言
- Django向Highcharts图表发送数据并用模板语言实现动态显示
- Django 探秘(1) 模板语言
- 第三百一十节,Django框架,模板语言
- Django的模板语言自定义,Django的中间件
- Django模板语言