当前位置: 首页 > news >正文

可画在线设计网站上海正规网站制作价格

可画在线设计网站,上海正规网站制作价格,需要建设一个什么样的网站,黄骅市网站建设公司目录 一、常用语法 二、模版语法之变量 三、模板之过滤器(Filters) 【1】default 【2】length 【3】filesizeformat 【4】slice 【5】date 【6】safe 【7】truncatechars 【8】其它过滤器(了解) 四、模版之标签 【1】for标签 【2】if 标签…

目录

一、常用语法

二、模版语法之变量

三、模板之过滤器(Filters)

【1】default

【2】length

【3】filesizeformat

【4】slice

【5】date

【6】safe

【7】truncatechars

【8】其它过滤器(了解)

四、模版之标签

【1】for标签

【2】if 标签

【3】with

【4】csrf_token

五、模版导入和继承

【1】模版导入

【2】模版继承


一、常用语法

  • 只需要记两种特殊符号:
{{ }}和 {% %}
  • 变量相关的用{
  • 逻辑相关的用{%%}

二、模版语法之变量

  • 在Django的模板语言中按此语法使用:
    • {{ 变量名 }}。
  • 当模版引擎遇到一个变量,它将计算这个变量,然后用结果替换掉它本身。
  • 变量的命名包括任何字母数字以及下划线 ("_")的组合。
    • 变量名称中不能有空格或标点符号。
  • 在模板中取值的时候:使用的是点语法(.)
  • 模板中得函数调用的时候不要加括号,自动加括号,你只需要写函数名
  • Python的数据类型基本都支持放到模板中使用

模板中支持的写法:

{# 取l中的第一个参数 #}
{{ l.0 }}
{# 取字典中key的值 #}
{{ d.name }}
{# 取对象的name属性 #}
{{ person_list.0.name }}
{# .操作只能调用不带参数的方法 #}
{{ person_list.0.dream }}

三、模板之过滤器(Filters)

过滤器给我们提供的有六十多个,但是我们只需要掌握10个以内即可。

语法:

{{obj|filter__name:param}}  变量名字|过滤器名称:变量

【1】default

  • 如果一个变量是false或者为空,使用给定的默认值。
  • 否则,使用变量的值。
{{ value|default:"nothing"}}
  • 如果value没有传值或者值为空的话就显示nothing

【2】length

  • 返回值的长度。它对字符串和列表都起作用。
{{ value|length }}
  • 返回value的长度
    • 如 value=['a', 'b', 'c', 'd']的话,就显示4。

【3】filesizeformat

  • 将值格式化为一个 “人类可读的” 文件尺寸 (例如 '13 KB', '4.1 MB', '102 bytes', 等等)。
{{ value|filesizeformat }}
  • 如果 value 是 123456789,输出将会是 117.7 MB。

【4】slice

  • 切片
    • 如果 value=”hello world”
{{ value|slice:"2:-1"}}

【5】date

  • 格式化
    • 如果 value=datetime.datetime.now()

{{ value|date:"Y-m-d H:i:s"}}

【6】safe

  • Django的模板中会对HTML标签和JS等语法标签进行自动转义,原因显而易见,这样是为了安全。
    • 但是有的时候我们可能不希望这些HTML元素被转义
    • 比如我们做一个内容管理系统,后台添加的文章中是经过修饰的,这些修饰可能是通过一个类似于FCKeditor编辑加注了HTML修饰符的文本,如果自动转义的话显示的就是保护HTML标签的源文件。
  • 为了在Django中关闭HTML的自动转义有两种方式
    • 如果是一个单独的变量我们可以通过过滤器“|safe”的方式告诉Django这段代码是安全的不必转义。
  • 比如:
  • value = "点我"
value="<a href="">点我</a>"

{{ value|safe}}from django.utils.safestring import mark_safe
res = mark_safe('<h1>HELLO WORLD</h1>')

【7】truncatechars

  • 如果字符串字符多于指定的字符数量,那么会被截断。
    • 截断的字符串将以可翻译的省略号序列(“...”)结尾。
  • 参数:截断的字符数
{{ value|truncatechars:9}}

【8】其它过滤器(了解)

过滤器

描述

upper

以大写方式输出

add

给value加上一个数值

addslashes

单引号加上转义号

capfirst

第一个字母大写

center

输出指定长度的字符串,把变量居中

cut

删除指定字符串

date

格式化日期

default

如果值不存在,则使用默认值代替

default_if_none

如果值为None, 则使用默认值代替

dictsort

按某字段排序,变量必须是一个dictionary

dictsortreversed

按某字段倒序排序,变量必须是dictionary

divisibleby

判断是否可以被数字整除

escape

按HTML转义,比如将”<”转换为”&lt”

filesizeformat

增加数字的可读性,转换结果为13KB,89MB,3Bytes等

first

返回列表的第1个元素,变量必须是一个列表

floatformat

转换为指定精度的小数,默认保留1位小数

get_digit

从个位数开始截取指定位置的数字

join

用指定分隔符连接列表

length

返回列表中元素的个数或字符串长度

length_is

检查列表,字符串长度是否符合指定的值

linebreaks

用或标签包裹变量

linebreaksbr

用标签代替换行符

linenumbers

为变量中的每一行加上行号

ljust

输出指定长度的字符串,变量左对齐

lower

字符串变小写

make_list

将字符串转换为列表

pluralize

根据数字确定是否输出英文复数符号

random

返回列表的随机一项

removetags

删除字符串中指定的HTML标记

rjust

输出指定长度的字符串,变量右对齐

slice

切片操作, 返回列表

slugify

在字符串中留下减号和下划线,其它符号删除,空格用减号替换

stringformat

字符串格式化,语法同python

time

返回日期的时间部分

timesince

以“到现在为止过了多长时间”显示时间变量

timeuntil

以“从现在开始到时间变量”还有多长时间显示时间变量

title

每个单词首字母大写

truncatewords

将字符串转换为省略表达方式

truncatewords_html

同上,但保留其中的HTML标签

urlencode

将字符串中的特殊字符转换为url兼容表达方式

urlize

将变量字符串中的url由纯文本变为链接

wordcount

返回变量字符串中的单词数

四、模版之标签

  • 标签看起来像是这样的: {% tag %}
  • 标签比变量更加复杂:一些在输出中创建文本,一些通过循环或逻辑来控制流程,一些加载其后的变量将使用到的额外信息到模版中。
  • 一些标签需要开始和结束标签 (例如{% tag %} ...标签 内容 ... {% endtag %})

【1】for标签

遍历每一个元素:

{% for person in person_list %}<p>{{ person.name }}</p>
{% endfor %}# 可以利用{% for obj in list reversed %}反向完成循环。

遍历一个字典:

{% for key,val in dic.items %}<p>{{ key }}:{{ val }}</p>
{% endfor %}{% for foo in d.keys %}<p>{{ foo }}</p>
{% endfor %}{% for foo in d.values %}<p>{{ foo }}</p>
{% endfor %}{% for foo in d.items %}<p>{{ foo }}</p>
{% endfor %}

注:循环序号可以通过{{forloop}}显示

# for 标签带有一个可选的{% empty %} 从句,以便在给出的组是空的或者没有被找到时,可以有所操作。
{% for person in person_list %}<p>{{ person.name }}</p>{% empty %}<p>sorry,no person here</p>
{% endfor %}

【2】if 标签

  • {% if %}会对一个变量求值,如果它的值是True(存在、不为空、且不是boolean类型的false值),对应的内容块会输出。
  • if语句支持 and 、or、==、>、<、!=、<=、>=、in、not in、is、is not判断。
{% if num > 100 or num < 0 %}<p>无效</p>
{% elif num > 80 and num < 100 %}<p>优秀</p>
{% else %}<p>凑活吧</p>
{% endif %}

 【3】with

  • 定义一个中间变量,多用于给一个复杂的变量起别名。
  • 注意等号左右不要加空格。
d = {'username':'kevin','age':18,'info':'这个人有点意思','hobby':[111,222,
333,{'info':'NB'}]}# with起别名
{% with d.hobby.3.info as nb  %}<p>{{ nb }}</p>在with语法内就可以通过as后面的别名快速的使用到前面非常复杂获取数据的方式<p>{{ d.hobby.3.info }}</p>
{% endwith %}{% with total=business.employees.count %}{{ total }} employee{{ total|pluralize }}
{% endwith %}
不要写成as

【4】csrf_token

{% csrf_token%}

五、模版导入和继承

【1】模版导入

语法:{% include '模版名称' %}如:{% include 'adv.html' %}

母板

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Title</title>{% block page-css %}{% endblock %}
</head>
<body><h1>这是母板的标题</h1>{% block page-main %}{% endblock %}
<h1>母板底部内容</h1>
{% block page-js %}{% endblock %}
</body>
</html>

注意:我们通常会在母板中定义页面专用的CSS块和JS块,方便子页面替换。 

【2】模版继承

  • 在子页面中在页面最上方使用下面的语法来继承母板。
{% extends 'layouts.html' %}

 块(block)  

  • 通过在母板中使用{% block xxx %}来定义"块"。
  • 在子页面中通过定义母板中的block名来对应替换母板中相应的内容。
{% block page-main %}<p>世情薄</p><p>人情恶</p><p>雨送黄昏花易落</p>
{% endblock %}

组件

  • 可以将常用的页面内容如导航条,页尾信息等组件保存在单独的文件中,然后在需要使用的地方按如下语法导入即可。
{% include 'navbar.html' %}
http://www.yayakq.cn/news/960437/

相关文章:

  • 网站自己推广网站右侧浮动微信二维码
  • .net网站开发教程关于做数学 平方差公式的网站
  • 哈尔滨微信网站开发张家口万全区建设网站
  • 建设管理网站最好的网页设计网站
  • 企业网站写好如何发布做外贸比较好用的网站有哪些
  • 免费建微网站平台西语网站域名
  • 开封企业网站建设企业网站建设维护
  • 自己做的网站网页滑动不外贸seo推广公司
  • 韩国有哪些专业做汽车的网站美容行业网站建设多少价格
  • 网站前置审批项 教育html代码下载
  • 邹平网站定制wordpress付费可见
  • 广元建设厅官方网站包头网站建设推广
  • 河北省城乡与建设厅网站wordpress+打卡插件
  • 上海网站建设官方网站网赌网站国外空间
  • 国外html5做的音乐网站自学建网站做网站优化
  • 网站开发背景商城网站欣赏
  • 网站建设规范管理工作用wordpress做视频
  • 贵阳网站建设方案维护怎么注册公司微信公众号
  • 网站建设与制作企业桂林漓江风景区
  • 广西南宁公司网站制作广告设计公司合同
  • 2021半夜好用的网站php房产网站开发教程
  • 广州网站开发软件平台wordpress添加媒体失败
  • 做3D打印样品用什么外贸网站好wordpress 首页缩列图
  • 网站后台管理系统一般用户名是什么自己用电脑做网站服务器
  • 潜江市建设工程合同备案网站青岛即墨城乡建设局网站
  • 北京的制作网站的公司遵义市住房城乡建设局网站
  • 网站制作关键字排名家在坪山业主论坛家在深圳
  • 淘宝做的网站会不会过期电销系统线路
  • 福田欧曼官方网站网站色彩的搭配原则有哪些
  • 深圳创意网站建设网络推广课程