标签:library 默认 first cat efault 自动 格式化 后端 get
模板的继承: 你首先继承一个html页面,继承了意味你拥有父模板所有的东西,你只需要在父模板的基础 上修改布局即可 第一步;在父模板划分多个区域 {% block 给区域起的名字 %} 父模板需要被重写或者重用的代码 {% endblock %} 第二步,在子模板继承父模板{% extends ‘父模板文件名’ %} 第三步,在子模板中重写父模板被划分的代码 {% block 给区域起的名字 %} 自己重写的代码 {% endblock %} 第四步,如果还想用父模板中的代码,可以重用父模板的方法 {{block.super}}等于重用了父类的方法
模板的导入 模板的导入就类似导模块,引用的作用 将一个文件夹的一段html当做模块的方式导入到另一个html文件夹展示 {% include ‘想导入的html文件名‘ %}
静态文件配置 {% load static %} <link rel=‘stylesheet‘ href="{% static ‘css/mycss.css‘%}"> # 第一种方式 <link rel=‘stylesheet‘ href="{% get_static_prefix %}css/mycss.css"> # 第二种方式
后端向前端传递数据的方式: # 第一种 return render(request,‘index.html‘,{‘n‘:n}) # 第二种 return render(request,‘index.html‘,locals()) # 将当前所在的名称空间中的名字全部传递给前端页面
后端传函数名到前端,会自动加括号调用,但是不支持传参
后端传对象到前端,就相当于打印了这个对象
前端获取后端传过来的容器类型的内部元素 统一采用句点符(.) (‘关某某‘,‘谢某某‘,‘陈某某‘,‘容嬷嬷‘) {{ t.1 }}》》》谢某某 1代表的是索引,列表的话点索引取值,字典的话点key,来获取Vauels
前后端取消转义:我传html格式,浏览器会默认转义成普通字符串,取消转义 就是我传什么格式,浏览器就打印什么格式,怎么取消? 前端: |safe 后端: from django.utils.safestring import mark_safe xxx = mark_safe(‘<h1>我是h1标签</h1>‘)
标签 for循环 {% for foo in l %} <p>{{ foo }}</p> <p>{{ forloop }}</p> {% endfor %} if判断 {% if flag %} <p>flag不为空</p> {% else %} <p>flag是空</p> {% endif %} 嵌套使用 {% for foo in l %} {% if forloop.first %} <p>这是我的第一次</p> {% elif forloop.last %} <p>这是最后一次了啊</p> {% else %} <p>嗨起来!!!</p> {% endif %} {% endfor %} empty 当你的for循环对象为空的时候会自动走empty代码块儿的内容 后端: l = None 前端: {% for foo in l %} {% if forloop.first %} <p>这是我的第一次</p> {% elif forloop.last %} <p>这是最后一次了啊</p> {% else %} <p>嗨起来!!!</p> {% endif %} {% empty %} <p>你给我的容器类型是个空啊,没法for循环</p> {% endfor %}
自定义过滤器 必须做的三件事 1.在应用名下新建一个名为templatetags文件夹(必须叫这个名字) 2.在该新建的文件夹内新建一个任意名称的py文件 3.在该py文件中需要固定写下面两句代码 from django import template register = template.Library() # 自定义过滤器 @register.filter(name=‘XBB‘) def index(a,b): return a+b
自定义标签 # 自定义标签 @register.simple_tag def plus(a,b,c): return a+b+c 自定义inclusion_tag # 自定义inclusion_tag @register.inclusion_tag(‘login.html‘,name=‘login‘) def login(n): # l = [] # for i in range(n): # l.append(‘第%s项‘%i) l = [ ‘第%s项‘%i for i in range(n)] return {‘l‘:l} # login.html <ul> {% for foo in l %} <li>{{ foo }}</li> {% endfor %} </ul> # 调用 {% login 5 %} 注意 :要想使用自定义的过滤器 标签 inclusion_tag 必须先在需要使用的html页面加载你的py文件 {% load my_tag %} {{ 666|XBB:8 }} {% plus 1 2 3 %} {% login 5 %}
标签:library 默认 first cat efault 自动 格式化 后端 get
原文地址:https://www.cnblogs.com/jingandyuer/p/11003463.html