模板变量,过滤器和静态文件引用

模板变量,过滤器和静态文件引用

模板路径

  • Djiango先到settings里面找templates下的DIRS查看是否有路径,也是从上往下依次寻找,找到就返回。
  • 如果DIRS没有,就到APP_DIRS里面寻找。但是APP要先在INSTALLED_APPS里面进行注册然后根据INSTALLED_APPS里面从上往下顺序依次寻找。

模板变量

  • 动态页面:随时间改变会改变相应数据内容等(并不是JS就是动态页面)
  • 静态页面:反之

  • 语法:{{变量名}},变量名命名规则和py变量一样,但是却不能以下划线_开头;注意避免关键字。

例如编写显示时间:

from datetime import datetimedef index(request):now = datetime.now()return render(request,'teacher/index.html',context={'now' : now})#HTML
<p>当前时间是:{{now}}</p>
#注意,俩个大括号里面的now对应的是context里的key的now

1488523-20190327125009506-1650294433.png

此时显示的时间并不是北京时间,要进行修改。
到项目目录下的settings里面最下面的TIME_ZONE = 'UTC'进行修改
改为TIME_ZONE = 'Asia/Shanghai'
(不要问我为什么不是Beijing,改成Beijing会报错,毕竟上海比较有名吧,估计是历史原因)

修改之后:
1488523-20190327125451894-1340596529.png

关于模板变量的解析

  • 列表list
    lt = [0,1,2]return render(request,'teacher/index.html',context={'lt':lt})#HTML
<p>传递的列表是:{{ lt }}</p>
<p>列表下标是1的元素是:{{ lt.1 }}</p>

说明:
传递列表的时候获取某个元素要使用list_name.索引的形式进行获取

结果如图:
1488523-20190327130703744-539489579.png

  • 字典
dt = {'name' : '小明','age' : 1}return render(request,'teacher/index.html',context={'dt':dt})#HTML
<p>传递的字典是:{{ dt }}</p>
<p>传递的字典['name']是:{{ dt.name }}</p>

说明:同样是通过dt_name.key的形式获取某个value

结果如图:

1488523-20190327131828761-1052000141.png

  • 函数
    def func():return 'Hello world'return render(request,'teacher/index.html',context={'func':func})#HTML
<p>传递的func是:{{ func }}</p>

说明:
函数不能设置有参数,只能设置无参数函数。因为在解析的时候解析的是变量名,而变量名是不可以携带变量的。

结果如图:
1488523-20190327132835807-1071729687.png

变量解析规则

  1. 当模板引擎遇到了变量时,会计算该变量,并以结果替换之
  2. 当模板引擎遇到了变量时,按照以下顺序尝试查找:
    • 字典键值查找
    • 属性或方法查找
    • 数字索引查找
  3. 如果结果是一个可调用的(callabled),则调用他,结果为模板变量的值

解释:

  1. 如果ret = 1+1,的时候,解析出来的结果会用2代替1+1
  2. 字典.方法名,会解析出来方法的返回值;但是如果字典里面含有和方法重名的key的时候,会按照顺序,解析为所对应的value
  3. 调用函数

常用的过滤器

现在先介绍内置过滤器(自定义以后聊)

过滤器:

  • 语法:{{fruits|lower}}
  • 作用: 对变量进行过滤。在真正渲染出来之前,过滤器会根据功能处理好变量,然后得出结果后再替换掉原来的变量展示出来。
  • 管道符号进行链式调用,比如实现一个功能,先把所有字符变成小写,把第一个字符转换成大写。{{fruits|lower|capfirst|..|..}
  • 使用参数:过滤器可以使用参数,在过滤器名称后面使用冒号”:”再加上参数,比如要把一个字符串中所有的空格去掉,则可以使用cut过滤器,{{fruits|cut:" "}}

语法:{{变量名|过滤器}}
例如:

  • 时间的:{{name|date:"D d M Y"}}
  • 列表的:
    • name|add:数字
    • name|first/last
    • name|slice:"num:num"

注意:不要习惯性在冒号俩边加上空格,会报错

常用的过滤器:

1488523-20190327151640431-900264333.png

date和time过滤器格式:

1488523-20190327151734647-501497144.png

静态文件的引用

路径设置

静态文件由内建APP'django.contrib.staticfiles'管理,调试用到,实际使用不会用到
django.contrib.staticfiles这个app被包含在INSTALL_APPS中
配置语法:

#setting.py
STATICFILES_DIRS = []

步骤:

  1. 在项目根目录下创建一个static,注意要分APP文件夹
  2. 写入STATIC_URL = '/static/'(默认就有)
  3. 在settings最下面加入STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]

静态文件引用

{% load static %}#写在模板顶部#导入的时候
src = "{% static 'app_name/img/name.jpg' %}"
如此类推

转载于:https://www.cnblogs.com/pygive/p/10607779.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394551.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

antd option宽度自适应_WordPress文章中添加自适应宽度的表格——墨涩网

WordPress文章中添加自适应表格&#xff0c;前面写文章的时候需要用到表格来表达阵列信息&#xff0c;但是在WordPress添加表格不想是在office中那样方便&#xff0c;需要借助插件或者代码才可以实现&#xff0c;今天分享一个不需要安装插件纯代码实现WordPress文章中添加自适应…

Go语言程序记录日志

许多软件系统运行中需要日志文件。Go语言程序中&#xff0c;输出日志需要使用包"log"&#xff0c;编写程序十分简单。 像Java语言程序&#xff0c;输出日志时&#xff0c;往往需要使用开源的软件包来实现&#xff0c;编写程序稍微复杂一些。 Go语言的包"log&quo…

如何让代码更易于维护_如何轻松地使您的网站更易于访问

如何让代码更易于维护by Jaroslav Vaňkt通过JaroslavVaňkt 如何轻松地使您的网站更易于访问 (How you can easily make your website more accessible) As a designer, developer, or even product manager, you have thousands of responsibilities. Every project require…

计算机安全概论论文,计算机安全探讨论文毕业论文(7篇).doc

计算机安全探讨论文毕业论文(7篇)计算机安全探讨论文毕业论文(7篇)计算机安全探讨论文毕业论文(7篇)预读: 第一篇:终端计算机安全检查技术研究【摘要】信息安全保密管理工作的重点和计算机终端检查的难点,促进了计算机安全检查技术的发展.本文回顾了终端检查技术经历的三个阶段…

OO第一单元总结

OO第一单元总结 第一次作业总结 这是我第一次接触Java和面向对象思想&#xff0c;最一开始&#xff0c;我建立了简单的类和对象的概念&#xff0c;多亏了第一次作业难度和复杂度较低&#xff0c;我才没有崩掉hhh。 第一次作业我只分了三个类&#xff0c;一个main&#xff0c;一…

接口开发指的是什么_企业在什么情况下要选择定制开发软件

软件定制开发是指软件开发商依据我们的需求停止量身定制的开发&#xff0c;软件定制开发相关于单纯产品的施行周期长、本钱高、风险大。假如根据定制开发的工作量或水平来分&#xff0c;我们能够分为完整定制开发和局部定制开发&#xff0c;完整定制开发是指软件开发公司依据我…

python2x 安装 psutil

安装psutil模块&#xff1a; wget https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.tar.gz --no-check-certificatetar -zxvf psutil-2.0.0.tar.gzcd psutil-2.0.0python setup.py install转载于:https://www.cnblogs.com/yingdiblog/p/7347325.html

c++编码风格指南_带回家的编码挑战的基本指南

c编码风格指南by Jane Philipps简菲利普斯 带回家的编码挑战的基本指南 (The Essential Guide to Take-home Coding Challenges) 介绍 (Introduction) Hi, I’m Jane. I wrote this guide because I want to help others with non-traditional backgrounds succeed on take-ho…

计算机没有搜索筛选功能,EXCEL中筛选工具怎么没有搜索功能

EXCEL中筛选工具怎么没有搜索功能卡饭网本站整理2018-04-01excel是一款数据处理工具&#xff0c;可以在众多的数据中找到想要的经过处理之后的数据&#xff0c;而最直接方便的功能就是筛选。请阅读下文&#xff0c;了解如何对数据进行筛选。如下图所示的学生成绩中&#xff0c;…

谈谈最短路径

最近遇到一些个问题&#xff0c;有关最短路径算法&#xff0c;又称A算法转载于:https://www.cnblogs.com/swell/p/6108850.html

51nod 1851 俄罗斯方块(思维题)

分析&#xff1a;假设n>m&#xff0c;m为1,2单独讨论下&#xff0c;否则可以用第二行第一个把所有黑块搞到2x2的格子里&#xff0c;不断用凸出来的那个角一列一列把黑的变白就行了。然后只要黑色有偶数块都可以构造出来。复杂度O(nm) #include <iostream> #include &l…

python发邮件详解_python实现发送邮件详解

[Python]代码#_*_encoding:utf-8_*_#script for python3.2#-------------------------------------------------------------------------------# Name: 发送邮件# Purpose:## Author: QiuChangJie## Created: 10/09/2012# Copyright: (c) cj.qiu 2012# Licence: #------------…

gprof, Valgrind and gperftools - an evaluation of some tools for application level CPU profiling on

2019独角兽企业重金招聘Python工程师标准>>> In this post I give an overview of my evaluation of three different CPU profiling tools: gperftools, Valgrind and gprof. I evaluated the three tools on usage, functionality, accuracy and runtime overhead…

xp计算机属性打不开,xp系统我的电脑右键属性打不开怎么办

在使用xp系统过程中,我们经常需要打开“我的电脑”右键属性,查看系统信息以及进行虚拟内存、性能方面的设置,不过有深度技术ghost xp sp3纯净版用户右键点击我的电脑,发现右键菜单中的“属性”打不开,出现这个问题通常是注册表禁用了这个属性,下面小编跟大家介绍xp系统我的电脑…

状态机学习(二)解析INI文件

题目来自<系统程序员成长计划> 作者:李先静. 状态变化如下 #include <string> #include <iostream> using namespace std;string s "[GRP]\n\ name def \n\ data 2016.11.29 \r\n\ ; this is a comment \r\n\ str this is a test \n\ [zhangshan]…

接口之用例编写、验证

一、用Excel编写用例&#xff08;xlsx格式&#xff09; 截图仅供参考&#xff0c;实际用例编写需要根据实际情况来。 二、用例加载、验证 1、数据的加载 import xlrd,xlwt #python操作excel主要用到xlrd和xlwt这两个库&#xff0c;即xlrd是读excel&#xff0c;xlwt是写excel的库…

计算机二级word真题书娟,计算机二级word试题.docx

PAGEPAGE # / 80Word试题在考生文件夹下打开文档 word.docx &#xff0c;按照要求完成下列操作并以该文件名( word.docx )保存文档。某高校为了使学生更好地进行职场定位和职业准备&#xff0c;提高就业能力&#xff0c;该校学工处将于2013 年 4月 29 日(星期五) 19:30-21:30 在…

农场js_通过销售农场商品来解释Web API

农场jsby Kevin Kononenko凯文科诺年科(Kevin Kononenko) 通过销售农场商品来解释Web API (Web APIs explained by selling goods from your farm) If you have been to a farmer’s market or farm stand, then you can understand the concept of an application programmin…

python安装pyqt4_windows下安装PyQt4

第一步&#xff1a;确认自己电脑上的Python版本。然后下载对应的.whl文件下载第二步&#xff1a;https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4上下载对应版本版本的.whl文件。例如cp-27-cp27m就代表是python2.7的版本。如果要下载python3.6且电脑是64位的则需要下载PyQt…

repcached配置与简单測试

安装libevent-devel进行configure。安装在文件夹/usr/local/repcached下编译安装完毕启动11211节点启动11212节点编写文件验证复制&#xff08;分别向1、2节点存入数据&#xff0c;验证复制&#xff09;ruby执行结果