Django 框架+模板

MVC 框架 -- Model View Controller

软件工程中的一种软件架构模式

模型(Model)、视图(View)和控制器(Controller),具有耦合性低、重用性高、生命周期成本低等优点。

MTV 框架  -- Model(模型)、Template(模板)和View(视图),也就是MTV框架。

  Model(模型):负责业务对象与数据库的对象(ORM)

Template(模版):负责如何把页面展示给用户

View(视图):负责业务逻辑,并在适当的时候调用Model和Template

此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

Django之模板

Django模板记两种特殊符号: {{  }}和 {% %}

{{ }}表示变量,在模板渲染的时候替换成值,{% %}表示逻辑相关的操作。

{{  变量名 }}  变量名由字母数字下划线组成, 点( . )在模板语言中有特殊的含义,用来获取对象的相应属性值.

. 列表 索引
. 字典 键
模板系统遇见一个点时:会按照下面顺序去查询:(优先级)
1 在字典中 2属性或方法 3数字索引
filters--过滤器  --修改变量的显示结果
{{ value|filter_name:参数 }}  参数最多一个
default 默认
‘string_if_invalid‘:‘找不到‘,  无效字符串
filesizeformat --文件大小个格式化
add +
length 返回value的长度
slice  切片 步长 方向
{{ str|truncatechars:9}}  <!-- 截断 -->
date 格式化 import datetime
时间{{ now|date:‘Y-m-d H:i:s‘}}  --规定
{{ now }} -- settings --DATETIME_FORMAT = ‘Y-m-d H:i:s‘  USE_L10N = False
safe (安全) --不做转义   xss跨站脚本攻击  Django默认做转义
{{ a_html|safe }}   {{ js|safe }}
难-- {‘parentloop‘: {}, ‘counter0‘: 0, ‘counter‘: 1, ‘revcounter‘: 2, ‘revcounter0‘: 1, ‘first‘: True, ‘last‘: False}  --倒叙reverse
for ... empty  //
不支持 连续判断 10>5>1
js//10>5>1  --> false
10>5==1 --> true
with -- 变量重新赋值
csrf_token   ---/CSRF(Cross-site request forgery)跨站请求伪造
{% csrf_token %}  --> form表单中
---------------------------------------
母版--减少代码  公用的部分放进去
分两步:
1  定义母版 base 普通页面html 包含多个页面的公共部分,在模板中定义block块,占位  让子页面进行替换  .
2 子页面 继承母版 {%  extends ‘母版文件名‘ %}
   重写 block
注意:
{%  extends ‘母版文件名‘ %}  -- 写在第一行   母版文件名加引号
模板中写多个block 预留css js 样式位置
**组件**    写死的html     {% include  ‘组件.html‘   %}

原文地址:https://www.cnblogs.com/zhangchen-sx/p/10301653.html

时间: 2024-11-05 18:27:41

Django 框架+模板的相关文章

讲述了Django框架模板的使用方法

文章来源: 敏而好学论坛 嗨学网www.piaodoo.com 欢迎大家相互学习本文实例讲述了Django框架模板的使用方法.分享给大家供大家参考,具体如下: 创建模板文件夹 在项目下床架一个模板文件夹 在templates下面为了区分是哪一个应用的模板再建一个与应用同名的文件夹. 在setting.py的TEMLATES里配置模板文件的路径 在视图函数里return reder def index(request):#视图函数必须有一个参数 #进行处理,和M和T进行交互... # return

053.Python前端Django框架模板层

模板层 一 模板语法之变量 在 Django 模板中遍历复杂数据结构的关键是句点字符, 语法: {{ var_name }} [[email protected] mysite]# cat app01/urls.py from django.urls import path,re_path from . import views urlpatterns = [ path("test/",views.test1,name="test1"), path("te

Django框架模板详解

Django模板详解 模板使用 模板基本由两个部分组成,一是HTML代码,二是逻辑控制代码. 逻辑控制的实现又基本由三个部分组成: 1. 变量的使用 {{ person_name }} #使用双大括号来引用变量 2. tag的使用 {% if ordered_warranty %} #使用大括号和百分号的组成来表示使用Django提供的 template tag {% for item in item_list %} <li>{{ item }}</li> {% endfor %}

python使用django框架模板的基本使用

定义:模板是html页面,可以根据师徒中传递过来的数据进行填充 创建模板:在sunck的下一个project下创建目录templates,再在此目录下创建myapp. 配置路径:修改setting.py文件的TEMPLATES下的DIRS,方括号中添加:os.path.join(BASE_DIR,'templates') 在templates的myapp下面,新建定义grades.html和student.html模板. grades.html:<!DOCTYPE html><html

django框架两个使用模板实例

前言 这篇文章主要介绍了django框架使用模板方法,结合两个具体实例形式详细分析了Django框架模板的相关使用技巧与操作注意事项,需要的朋友可以参考下. 我在这里做一次集中式分享,如果有喜欢的内容,尽管拿去,如果遇到什么问题,请在下面给我留言即可! 本文实例讲述了django框架使用模板.分享给大家供大家参考,具体如下: models.py: from django.db import models # Create your models here. class Book(models.M

Django框架简介及模板Template

Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller),具有耦合性低.重用性高.生命周期成本低等优点. 想要更详细的了解MVC模式? >> 点我 Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性. Django框架的不同之处在于它拆分的三部分为:Model(模型).Templ

Django框架之第三篇模板语法

Django框架之第三篇模板语法(重要!!!) 一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键是句点字符  .(也就是点) views.py def index(request): name = "hello haiyan" i = 200 l = [11,22,33,44,55] d = {"name":&quo

Django框架之模板

Django框架之模板层 什么是模板 需要返回给浏览器的html文件 Django的模板 = HTML代码 + 模板语言 模板语言 有与我们直接返回html页面的话,那他只是一个静态页面无法实现前后端数据交互,那么我们就需要经过页面渲染,让静态文件呈现出动态页面的效果. 模板语言的变量 如果我们需要将后端的数据传递到前端页面渲染,就需要用到模板语言中的变量 用法:通过{{}}来获取后端传递过来的数据 变量支持的数据类型: int float str dict list tuple set boo

人生苦短,我用python-- Day19 django框架之URL路由系统、视图应用、模板应用、django之orm应用

目录 一.django的URL应用 二.django的视图应用 三.django的模板应用 四.django的orm应用 补充: 补充一:getlis 应用场景:当前端发送的数据为多个的时候,后台如果还用get获取数据,那么就会出问题,所以这里有一个getlist方法进行数据的获取. 试验案例:当前端有一个多选的checkbox的时候,那么就要使用getlist进行获取数据了 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^get