(一){%%}和{{ }}

 {% for post in posts %}
<a href=""><h2>{{ post.title }}</h2></a>
<p>{{ post.body }}</p>
<p>{{ post.timestamp }}</p>
<hr>
{% endfor %}

{%%}:里面的是模板标签,{{}}里面的是变量

{%%}标签:

 {% if  x == 1%}
<p></p>
{% else %}
<p></p>
{% endif %}
 {% for a in a_list %}
<p>{{ a.name }}</p>
{% endfor %}

只有模板变量、字符串、整数和小数可以作为 {% ifequal %} 标签的参数,像字典、列表、布尔类型的是不能用在 {% ifequal %}中的,例如{% ifequal test [1,2,3] %}是错误的

 {# 比较2个参数的值,user1 user2 #}
{% ifequal user1 user2 %}
<p></p>
{% else %}
<p></p>
{% endifequal %}

{% include %}模板标签可以显示其他模板的内容{% include template_name %},例如

{% include 'login.html' %}

(二)模板继承

可以在一个HTML页面中定义公共内容(网站logo等),其他页面继承这个模板

1、定义基础模板base.html

<!-- base.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我的博客-所有博客列表</title>
</head>
<style>
</style>
<body>
{% block content %}
{% endblock %}
<div align="center">python django 网站 2018 ©版权所有</div>
</body>
</html>
{% block content %}

{% endblock %}
这个标签之间的内容是可以替换的

2、继承,例如:下面这个就是

第一行继承 base.html,后面的就是替换base.html  {% block content %}       {% endblock %} 标签之间的内容

 {% extends "base.html" %}
{% block content %}
<form action="/blog/team/" method="post">{% csrf_token %}
<div align="center"><table >{{ form }}</table><br>
<input type=submit></div>
</form>
<hr>
{% endblock %}

(三)模板渲染

模板创建好后,可以用 context 来传递数据给它。 一个context是一系列变量和它们值的集合,类似于字典。

例如: django.shortcuts 文件中的render函数

def render(request, template_name, context=None, content_type=None, status=None, using=None):
"""
Return a HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
"""
content = loader.render_to_string(template_name, context, request, using=using)
return HttpResponse(content, content_type, status)

第二个参数就是模板,第三个就是要传给模板的数据

def login(request):
return render(request,'login.html',{'form':LoginPostForm,})

Python Django框架笔记(六):模板的更多相关文章

  1. Python Django框架笔记(三):django工作方式简单说明和创建用户界面

    (一)  说明 简单说明下django的工作方式,并举2个例子. (二)  Django工作方式 假定我们有下面这些文件 ,这里在前2篇的基础上增加了 templates目录(存放html文件) 和s ...

  2. Python Django框架笔记(五):模型

    #前言部分来自Django Book (一)    前言 大多数web应用本质上: 1. 每个页面都是将数据库的数据以HTML格式进行展现. 2. 向用户提供修改数据库数据的方法.(例如:注册.发表评 ...

  3. Python Django框架笔记(一):安装及创建项目

     #推荐一本书<Python核心编程>(适合有一定基础的),美国人Wesley Chun编写的,京东.淘宝应该都有.我是觉得写的很好,详细.简洁.满满的干货,不像有的书整本看完也没什么用. ...

  4. Python Django框架笔记(二):创建应用和django 管理

    #前提是已经创建项目 (一)      创建应用 使用命令,在项目中创建一个应用(blog自定义) python manage.py startapp blog 创建完成后,可以看到下面几个文件 文件 ...

  5. Python Django框架笔记(四):数据分页和CSRF跨站点请求伪造

    (一)数据分页  可以参考  https://docs.djangoproject.com/en/2.0/topics/pagination/ 模板:如果只要显示 1.2.3.4.5.6....的话, ...

  6. [Python] Django框架入门

    说明:Django框架入门 当前项目环境:python3.5.django-1.11 项目名:test1 应用名:booktest 命令可简写为:python manager.py xxx => ...

  7. Python Flask学习笔记之模板

    Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...

  8. Django开发笔记六

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.登录功能完善 登录成功应该是重定向到首页,而不是转发 ...

  9. 利用 Python django 框架 输入汉字,数字,字符,等。。转成二维码!

    利用 Python django 框架 输入汉字,数字,字符,等..转成二维码! 模块必备:Python环境 + pillow  + qrcode 模块 核心代码import qrcode qr = ...

随机推荐

  1. (转)计算机原理学习(1)-- 冯诺依曼体系和CPU工作原理

    原文:https://blog.csdn.net/cc_net/article/details/10419645 对于我们80后来说,最早接触计算机应该是在95年左右,那个时候最流行的一个词语是多媒体 ...

  2. android开发学习——day6

    关于UI的几个插件学习 button和textview,以及点击button利用Toast提醒,editText private EditText editText; @Override protec ...

  3. 微信正式开放内测“小程序”,不开发APP的日子真的来了?

    关注,QQ群,微信应用号社区 511389428 微信正式开放内测“小程序”,不开发APP的日子真的来了? 明星公司 缪定纯 • 2016-09-22 09:05 讨论了很久的微信应用号终于来了,不过 ...

  4. 第一个WCF程序

    WCF的服务需要寄宿在进程中,我们把服务端的叫做宿主,为服务指定宿主指定的过程叫服务寄宿.有两种方式一种是自我寄宿(Self-Hosting),一种是IIS寄宿方式.Self-Hosting我们通过一 ...

  5. C#基础篇七类和静态成员

    1.new关键字做的4个事情 1.1 开辟堆空间 a.开辟多大的空间呢? 当前类 所有的 成员变量类型所占空间的总和 + 类型指针(方法表的地址) b.开辟了空间干什么用呢? 存放 成员变量 1.2 ...

  6. WPF 中textBox实现只输入数字

    刚学到 通过本方法可以使文本框只能输入或复制入数字  对于数量类输入文本框比较有用 金额类只需小改动也可实现 以TextBox txtCount为例 添加TextChanged事件 代码如下 priv ...

  7. Vue + Element UI 实现权限管理系统 前端篇(六):更换皮肤主题

    自定义主题 命令行主题工具 1.安装主题工具 首先安装「主题生成工具」,可以全局安装或者安装在当前项目下,推荐安装在项目里,方便别人 clone 项目时能直接安装依赖并启动. yarn add ele ...

  8. java学习--高效的除模取余运算(n-1)&hash

    没有测试过使用取余运算符和位运算符都做同一件事时的时间效率! 取余运算符% 如3除以2取余数 a = a%; 结果为1 上面是传统的方式进行求余运算. 需要先将10进制转成2进制到内存中进行计算,然后 ...

  9. java5新特性-加强for循环

    本文目标是加强for循环和普通for循环的比较.阅读本文大概3-5分钟 刚开始学习编程语言的时候接触了三种循环方式 1. for 常用 2. while 较常用 3 do ... while 不常用 ...

  10. Linux-(inotify-tools&rsync)

    inotifywait命令 mac中的是:fswatch,fsevents-tools. 1.命令格式: inotifywait [参数] [events] [targetDir] 2.命令功能: 平 ...