本章知识点
1、Django 模板系统介绍
2、Django 模板系统的基本语法
3、使用Django进行前端的模板渲染
1、Django 模板系统介绍
在上节课完成了一个hello world的访问,但是这样的网站没有实际意义,在开始学习今天的知识 之前,我们先回忆一下,学习Python之初学习到的一个知识点,Python的字符串格式化:


这个例子很简单,但和web开发有共同的地方,都是需要将数据展示到具体的格式当中,最明显的实例就是类似腾讯qq空间的网站,我们可以切换好多种表达的方式(皮肤),但是内容是不变的。这样就涉及到了一个表达方式和表达内容的区别,Django当中是通过他的模板系统来完成这一工作的。
2、Django 模板系统的基本语法
Django的模板系统将整个数据展示的功能分为四个步骤
1、构建模板对象
2、构建数据结构
3、模板加载数据
4、前端传递数据
完整代码如下
\QShop\QShop\views.py

我们然后通过制定路由得到效果如下:
\QShop\QShop\urls.py


在上面是最简单的一个例子,接下来深度的学习Django模板系统的语法:
Django的模板系统有以下三种常用元素组成:
1、变量:有双大阔号包围的用于接受变量的元素 {{ example }}
\QShop\QShop\views.py

\QShop\QShop\urls.py

变量除了可以是字符串之外,也可以是列表、元组、字典、或者类,并且变量通过.可以调用到自己不需要传参的任何参数。完整代码如下
\QShop\QShop\views.py






2、标签 标签是有大括号百分号包围的,具有语法规则的元素,常用的标签有以下几种
If标签
\QShop\QShop\views.py


\QShop\QShop\urls.py

If equal标签
\QShop\QShop\views.py


路由不变,直接访问,效果如下


路由不变,直接访问,效果如下

forloop控制
\QShop\QShop\views.py


路由不变,直接访问,效果如下
3、过滤器 在变量当中以竖线作为标识对变量进行修改的元素
Django的过滤器有很多种,我们在后面的课程当中会讲到自定义过滤器,今天课上我们来研究一个特殊的过滤器。
Safe,Django默认情况下,会将后端传递上来的字符串当中的代码自动转义,比如下面这段代码
\QShop\QShop\views.py

\QShop\QShop\urls.py

但是如果使用了safe标签,效果就会有所不同了,
\QShop\QShop\views.py

当然,这个标签要慎用,应为可能导致前端注入

最简单前端注入效果:
\QShop\QShop\views.py

效果如下

3、使用Django进行前端的模板渲染
上面的课程当中,我们学习了Django模板的基础代码,但是把HTML直接写在视图当中并不是一种很好的习惯。所以我们接下来研究的是Django模板系统加载独立的HTML页面。
1、加载HTML文件
1、创建HTML文件目录
首先在项目的根目录下创建一个目录作为静态文件的目录


然后编写HTML
\QShop\templates\index.html

2、配置HTML文件路径
接着配置settings当中的HTML文件加载路径
\QShop\QShop\settings.py

os.path.join(BASE_DIR,“templates”)

这是课程第一次接触到settings配置,我们必须认识到一个settings当中的配置,就是 BASE_DIR,这个是Python os模块获取当前项目的根目录,我们在settings当中的大部分 的路径配置都会用到这条配置。


3、加载HTML文件
\QShop\QShop\views.py

这样访问路由效果如下

效果同样很棒

在此,我们可以将之前学习的模板系统的语法进行一个基本的整合使用。
目标:
定义一个学员介绍的列表页。
首先,定义视图函数,我们在函数当中手动的构建记录学员信息的数据结构
\QShop\QShop\views.py

接着指定路由
\QShop\QShop\urls.py

然后编写前端效果
\QShop\templates\students.html


效果如下:在这里插入图片描述

2、配置静态文件配置

3、进行前端的文件调用
顶部导入


当中使用

当然如果不想每个文件里面都load,我们也可以在settings当中配置


课程总结
1、Django 模板系统介绍
2、Django 模板系统的基本语法
3、使用Django进行前端的模板渲染

002:Django 模板系统介绍相关推荐

  1. 小白必看!Django 模板语言基础来啦

    作者 | 单雨 责编 | 胡巍巍 出品 | CSDN(ID:CSDNnews) 前言 为了实现模板封装和复用,提高HTML界面调试便捷性以及前后端解耦等目标,Django定义了自己的网络模板语言. 当 ...

  2. Django 模板4.1

    模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视 ...

  3. Django模板过滤器详解

    Django 模板过滤器也是我们在以后基于 Django 网站开发过程中会经常遇到的,如显示格式的转换.判断处理等.以下是 Django 过滤器列表,希望对为大家的开发带来一些方便. 一.形式:小写 ...

  4. django模板的导入

    模板导入 前提:多个页面有一个相同的页面版块(多个有样式标签的集合体) 如何运用:可以将多个样式标签的集合进行封装对外提供版块的名字(接口),在有该版块的页面中直接导入即可 语法:{% include ...

  5. Django模板、配置文件、静态文件及案例实现(创建模板、设置模板查找路径、模板接收视图传入的数据、模板处理数据、BASE_DIR、DEBUG、本地语言与时区、App应用配置)

    1.Django模板 网站如何向客户端返回一个漂亮的页面呢? 漂亮的页面需要html.css.js. 可以把这一堆字段串全都写到视图中, 作为HttpResponse()的参数,响应给客户端. 存在的 ...

  6. Django模板用法

    django模板原理 # 创建template对象,由context对象传递template所需要的值, 有render方法进行模板的呈现 # 写模板,创建 Template 对象,创建 Contex ...

  7. django模板过滤器

    django模板&过滤器 声明:部分信息来源这篇博客https://www.cnblogs.com/maple-shaw/articles/9333821.html MVC: 模型(model ...

  8. python django 模板

    1 用两个大括号括起来的文字{{person_name}} 称为变量 2 被 大括号和面分号包围的文件({% if ordered_warranty %})是模板标签 3 过滤器是用管道符(|) 和U ...

  9. Django—模板渲染

    参考文档: http://www.cnblogs.com/fnng/p/4373108.html https://code.ziqiangxuetang.com/django/django-intro ...

最新文章

  1. C++中typedef和define的区别
  2. android fersco 框架,Android Fresco框架的简单使用
  3. 如何解决:Android中 Error generating final archive: Debug Certificate expired on 10/09/18 16:30 的错误...
  4. .NET Framework 各版本区别
  5. 2013年第四届蓝桥杯C/C++ A组国赛 —— 第一题:填算式
  6. C# 互通操作 (二)基础知识1
  7. 古有诸葛亮八卦阵阻敌,今有iptables护网安
  8. 每日小记2017.9.4
  9. linux服务器无法登录,linux服务器账号密码正确无法登录-Go语言中文社区
  10. android创建Menu菜单
  11. CVE-2012-1876漏洞分析
  12. 深度学习之神经网络(二)
  13. 【印刷字符识别】基于matlab模板匹配英文字母识别【含Matlab源码 808期】
  14. 机器学习之overfiting
  15. [现代控制理论]6_稳定性_李雅普诺夫_Lyapunov
  16. C函数的参数中有取地址符
  17. Oracle查询成绩高于成绩,Oracle认证考试成绩查询方法
  18. VC6无负担实现XP风格界面
  19. 程序员入职请前辈吃饭,一桌五人 网友五字神评论亮了
  20. python 爬取王者壁纸

热门文章

  1. java 操作 word 表格和样式_java 处理word文档 (含图片,表格内容)
  2. 最新界面很漂亮的在线工具箱,包含站长工具箱等等功能
  3. 突发!活力花借款人被扫黑办传唤取证,与京东数科合作紧密
  4. Android Dialog隐藏消失时软键盘无法收回问题解决
  5. 2021会宁三中高考成绩查询,会宁机电工业学校2021年招生录取分数线
  6. 分享一次险象迭生的系统迁移【真实案例】
  7. php 网页爬虫 cooking,scrapy爬取dmoz/Home
  8. 自京赴奉先县咏怀五百字
  9. HarmonyOS初探03——DevEco Studio创建应用问题ERROR Unable to tunnel through proxy. Proxy returns HTTP1.1 403
  10. 双硬盘装双系统遇到的坑