就象本章前面提到的一样,模板过滤器是在变量被显示前修改它的值的一个简单方法. 过滤器看起来是这样的: {{ name|lower }} 显示的内容是变量 {{ name }} 被过滤器 lower 处理后的结果,它功能是转换文本为小写. 使用 | 来应用过滤器. 过滤器可以被 串联 ,就是说一个过滤器的输出可以被输入到下一个过滤器.这里有一个常用的 需求,先转义文本到HTML,再转换每行到 <p> 标签: {{ my_text|escape|linebreaks }} 有些过滤器有参数.过滤器…
前戏 在前面写的图书管理系统中,我们对模版语言应该已经不陌生了,使用{{ }}包裹起来的就是模版语言,只需要记住两种就可以了 {{ 变量名 }}            变量相关的 {% %}                 逻辑相关的 变量 如果使用的变量不存在,模版系统将插入string_if_invalid选项的值,它被默认设置为“”(空字符串) 看几个栗子 例子1: def index(request): name = '邹邹' dic = { "name": "老王&…
.settings.INSTALLED_APPS下添加:django.contrib.staticfiles .settings.py下添加:STATIC_URL = '/static/' . ()在APP下新建文件夹static,然后在这个static文件夹下创建一个当前APP的名字的文件夹,再把静态文件放到这个文件夹下:(类似于Templates配置) 在模板中这样调用: {% load static %} <img src="{% static 'front/logo.jpg' %}…
一.celery简介: Celery 是一个强大的 分布式任务队列 的 异步处理框架,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务(async task)和定时任务(crontab). Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成. 可以看到,Celery 主要包含以下几个模块: 任务模块 Task 包含异步任务和定时任务.其中…
一.什么是闭包? 如果一个内嵌函数访问外部嵌套函数作用域的变量,并返回这个函数,则这个函数就是闭包 闭包必须满足三个条件: 1. 必须有一个内嵌函数    2. 内嵌函数必须引用外部嵌套函数中的变量    3. 外部函数返回值必须是内嵌函数 闭包的特点: 一般情况下,在我们认知当中,如果一个函数结束,函数的内部所有东西都会释放掉,还给内存,局部变量都会消失.但是闭包是一种特殊情况,如果外函数在结束的时候发现有自己的临时变量将来会在内部函数中用到,就把这个临时变量绑定给了内部函数,然后自己再结束.…
1.add 将参数添加到值. 例如: {{ value|add:"2" }} 如果value是4,那么输出将是6. 此过滤器将首先尝试将两个值强制转换为整数.如果失败,它将尝试将值一起添加到一起.这将适用于某些数据类型(字符串,列表等),而对其他数据类型则失败.如果失败,结果将为空字符串. 例如,如果我们有: {{ first|add:second }} 和first是与是,那么输出将是.[1, 2, 3]second[4, 5, 6][1, 2, 3, 4, 5, 6] 2.adds…
一.变量       1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量.    2.使用dot(.)能够访问变量的属性    3.当模板引擎碰到dot的时候,查找的顺序是什么样子呢?        a.字典查找,例如:foo["var1"]        b.属性查找,例如:foo.bar        c.方法查找,例如:foo.bar()        d.list-index查找,例如foo[bar] 注意:方法查找比一般的查找要复…
一.变量       1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量.    2.使用dot(.)能够访问变量的属性    3.当模板引擎碰到dot的时候,查找的顺序是什么样子呢?        a.字典查找,例如:foo["var1"]        b.属性查找,例如:foo.bar        c.方法查找,例如:foo.bar()        d.list-index查找,例如foo[bar] 注意:方法查找比一般的查找要复…
1 在项目根路径下创建静态文件目录static: test3 是我的项目名,根目录下面: booktest 是一个应用 static是我建立的静态文件目录(这个名字其实可以叫其他的),静态文件都放在这下面,比如js文件 css文件 templates是模版目录 test3是项目配置的目录 2 在项目下的settings.py文件中配置静态文件的路径: # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com…
问题描叙: 在实际模版中,返回的页面我们想要主菜单保持一种状态,这个主菜单进去的子页面,都需要保持主菜单选择状态 例如 主菜单是 课程, 下面展现的章节和视频页面时候, 课程这个主菜单在展现这个菜单下的子页面,需要保持标记状态 如何解决这个问题? 1. 访问每个子url时候,每个view都要返回给模版一个参数表示当前所属那个主菜单, 模版引擎通过判断这个参数的值,进行主菜单标记 # 通过view 传过来的参数 current_page 判断是否是这个url下子页面 <li class="…