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

滨州正规网站建设价格简单网站制作

滨州正规网站建设价格,简单网站制作,网站标题符号有哪些,聚财三个字公司名字前言#xff1a;django的模板语法基本和flask的jinja2基本一样。下面比较一下两个模板语法的区别。 #xff0d;#xff0d;#xff0d;#xff0d;#xff0d;#xff0d;深度变量的查找#xff08;万能的句点号#xff09; 在 Django 模板中遍历复杂数据结构的关键是… 前言django的模板语法基本和flask的jinja2基本一样。下面比较一下两个模板语法的区别。 深度变量的查找万能的句点号 在 Django 模板中遍历复杂数据结构的关键是句点字符 (.)。 1.模板变量 django:{{  变量  }}    # 因为django只有一个context返回全部数据都集中在一起 jinja2:{{  对象.变量  }} 2.根据列表的下标获取值 django:{{  列表.0  }} jinja2:{{  列表[0]  }} 3.根据字典的键获取字典的值 django:{{  字典.key  }} jinja2:{{  字典[key]  }}或者{{  字典.key  }} 4.for循环时取序号 django:{% for item in 列表 %}{{forloop.counter}} 1-- 表示当前是第几次循环从1开始 --{{forloop.counter0}} !-- 表示当前是第几次循环从0开始 --{% endfor %}jinja2:{% for item in 列表 %}{{loop.index}} 1-- 表示当前是第几次循环从1开始 --{{loop.index0}} !-- 表示当前是第几次循环从0开始 --{% endfor %} # for遍历字典{{ for key,val in dic.items}}  {{k}} : {{v}}{{ endfor }}ul {% for obj in list %}li{{ obj.name }}/li {% endfor %} /ul#在标签里添加reversed来反序循环列表 {% for obj in list reversed %}...{% endfor %}#{% for %}标签可以嵌套 {% for country in countries %}h1{{ country.name }}/h1ul{% for city in country.city_list %}li{{ city }}/li{% endfor %}/ul{% endfor %}#系统不支持中断循环系统也不支持continue语句{% for %}标签内置了一个forloop模板变量 #这个变量含有一些属性可以提供给你一些关于循环的信息1forloop.counter表示循环的次数它从1开始计数第一次循环设为1:{% for item in todo_list %}p{{ forloop.counter }}: {{ item }}/p{% endfor %} 2forloop.counter0 类似于forloop.counter但它是从0开始计数第一次循环设为0 3forloop.revcounter 4forloop.revcounter0 5forloop.first当第一次循环时值为True在特别情况下很有用{% for object in objects %} {% if forloop.first %}li classfirst{% else %}li{% endif %} {{ object }} /li {% endfor %} # 富有魔力的forloop变量只能在循环中得到当模板解析器到达{% endfor %}时forloop就消失了 # 如果你的模板context已经包含一个叫forloop的变量Django会用{% for %}标签替代它 # Django会在for标签的块中覆盖你定义的forloop变量的值 # 在其他非循环的地方你的forloop变量仍然可用#{% empty %}{{li }}{% for i in li %}li{{ forloop.counter0 }}----{{ i }}/li{% empty %}lithis is empty!/li{% endfor %}# [11, 22, 33, 44, 55] # 0----11 # 1----22 # 2----33 # 3----44 # 4----55 5.列表为空时执行逻辑 django:{% for item in 列表 %}{{forloop.counter}} {{ item }} 1-- 表示当前是第几次循环从1开始 --{{forloop.counter0}} {{ item }} !-- 表示当前是第几次循环从0开始 -- {% empty %} 列表为空或不存在时执行此逻辑 {% endfor %}jinja2:无 6.if语句 {% if num 100 and 8 %}{% if num 200 %}pnum大于200/p {% else %} pnum大于100小于200/p {% endif %} {% elif num 100 %} pnum小于100/p {% else %} pnum等于100/p {% endif %} {% if %} 标签接受andor或者not来测试多个变量值或者否定一个给定的变量 {% if %} 标签不允许同一标签里同时出现and和or否则逻辑容易产生歧义例如下面的标签是不合法的 {% if obj1 and obj2 or obj3 %}   7.过滤器 django:变量|过滤器:参数 jinja2:变量 | 过滤器(参数)    常见的jinja2过滤器https://www.cnblogs.com/chichung/p/9775099.html django的常见几个过滤器如下 safe禁用html转义显示html标签样式而不是字符串length长度返回字符串包含字符的个数或列表、元组、字典的元素个数。 default默认值如果变量不存在时则返回默认值。 data|default:默认值date日期用于对日期类型的值进行字符串格式化常用的格式化字符如下 Y表示年格式为4位y表示两位的年。m表示月格式为01,02,12等。d表示日, 格式为01,02等。j表示日格式为1,2等。H表示时24进制h表示12进制的时。i表示分为0-59。s表示秒为0-59。value|date:Y年m月j日 H时i分s秒 1 add 给变量加上相应的值## 2 addslashes : 给变量中的引号前加上斜线## 3 capfirst : 首字母大写 # # 4 cut 从字符串中移除指定的字符 # # 5 date 格式化日期字符串 # # 6 default 如果值是False,就替换成设置的默认值否则就是用本来的值 # # 7 default_if_none: 如果值是None就替换成设置的默认值否则就使用本来的值 #实例: #value1aBcDe {{ value1|upper }}br #value25 {{ value2|add:3 }}br #value3he llo wo r ld {{ value3|cut: }}br #import datetime #value4datetime.datetime.now() {{ value4|date:Y-m-d }}br #value5[] {{ value5|default:空的 }}br #value6a href#跳转/a {{ value6 }} {% autoescape off %} {{ value6 }} {% endautoescape %} {{ value6|safe }}br {{ value6|striptags }} #value71234 {{ value7|filesizeformat }}br {{ value7|first }}br {{ value7|length }}br {{ value7|slice::-1 }}br #value8http://www.baidu.com/?a1b3 {{ value8|urlencode }}br value9hello I am yuan 8.多行注释 django: {% comment %} ... {% endcomment %} 9.对有需要的block进行重写 django: 不用重写父模版中的所有block如果子模版没有重写则使用父模版定义的默认值。 可以使用 block.super 来包含父模板的块中定义的内容如下 {% block 名称 %} 子模板的内容 {{ block.super }} 显示父模板中block的内容 {% endblock %} {{ block.super }}——引用上级代码块在其基础上进行一些修改 flask: 同样原理不过用的是{{  super()  }}   10.csrf_token      用于生成csrf_token的标签用于防治跨站攻击验证。注意如果你在view的index里用的是render_to_response方法不会生效      其实这里是会生成一个input标签和其他表单标签一起提交给后台的。 {% csrf_token %} 放到form中   11.引用路由配置地址 {% url %} 1.urlpatterns [url(r^register.html$, register, nameregister), ]2.form action{% url register %} input typetextinput typesubmitvalue提交{%csrf_token%} /form   12.用更简单的变量名替代复杂的变量名 {% with %} {% with totalfhjsaldfhjsdfhlasdfhljsdal %} {{ total }} {% endwith %}   13.{% load %}: 加载标签库 {% load staticfiles %}script src{% static plugins/jquery.min.js %}/script   14.自定义tag标签 a、在app中创建templatetags模块(必须的)b、创建任意 .py 文件如my_tags.pyfrom django import template from django.utils.safestring import mark_saferegister template.Library() #register的名字是固定的,不可改变 register.filter def filter_multi(v1,v2):return v1 * v2register.simple_tag def simple_tag_multi(v1,v2):return v1 * v2register.simple_tag def my_input(id,arg):result input typetext id%s class%s / %(id,arg,)return mark_safe(result)c、在使用自定义simple_tag和filter的html文件中导入之前创建的 my_tags.py {% load my_tags %}d、使用simple_tag和filter如何调用-------------------------------.html {% load xxx %} #首行# num12 {{ num|filter_multi:2 }} #24{{ num|filter_multi:[22,333,4444] }}{% simple_tag_multi 2 5 %} 参数不限,但不能放在if for语句中 {% simple_tag_multi num 5 %}e、在settings中的INSTALLED_APPS配置当前app不然django无法找到自定义的simple_tag.注意filter可以用在if等语句后simple_tag不可以{% if num|filter_multi:30 100 %}{{ num|filter_multi:30 }} {% endif %}CP https://www.cnblogs.com/chichung/p/9898017.html转载于:https://www.cnblogs.com/icemonkey/p/10506574.html
http://www.zqtcl.cn/news/211325/

相关文章:

  • 创建网站平台电商系统源码
  • 滕州本地网站建设网站维护中模版
  • 商城类网站设计制作开发公司 张庆
  • seo擦边球网站宝安网站制作
  • 文山北京网站建设wordpress漂亮破解主题
  • 做网站需要什么证明嘛wordpress和自己写
  • 蚌埠市网站建设公司网站建设 技术 哪些
  • 网站收录查询临沂seovisual c 网站开发
  • 国际空间站vs中国空间站做网站在哪里接活
  • 怎样宣传网站营销外包公司
  • 工程网站模板制作教程具有价值的专业网站建设平台
  • 用wex5可以做网站吗邯郸seo快速排名
  • 高端品牌网站建设兴田德润可信赖网络运营方案怎么写
  • 新公司网站建设合肥关键词排名优化
  • 网站排名优化+o+m西安网络推广平台公司
  • 找网站建设公司需要注意什么常州网站建设公司好么
  • 不备案的网站很慢网站双线主机优势
  • 南京电子商务网站建设23个营销专业术语
  • 建设银行官网官方网站学习网页制作的网站
  • 开发网站需要什么硬件今年最流行的装修风格
  • 门户网站建设中标结果百度资讯指数
  • 定制企业网站开发公司网站建设的6个基本步骤
  • 网站建设与维护案列网站作品怎么做
  • 茂名放心营销网站开发seo收费
  • 旅游网站品牌建设本地使用宝塔安装wordpress
  • 专门做外链的网站制作论坛类网站模板免费下载
  • 靖江建设行业协会网站投资做网站
  • 做网站视频背景潍坊网站制作建设
  • 深圳市官网网站建设哪家好百度抓取网站登录
  • 免费做cpa单页网站友情链接买卖代理