组件

  1. 将一些功能标签写在一个html文件里,这个文件作为一个组件,如果那个文件需要就直接拿过来使用即可;

    1. 这是title.html文件,写了一个导航栏,作为一个公用的组件
    2. <div style="background-color: cyan;width: 100%;height: 40px;">
    3. <span style="font-size: 20px;">首页</span>
    4. <span style="font-size: 20px;">搜索</span>
    5. <span style="font-size: 20px;">登录</span>
    6. <span style="font-size: 20px;">注册</span>
    7. </div>
    8. 引用方式:
    9. {% include 'title.html' %}
    10. 将这个语句放在你html文件需要的位置;就会将这这个导航栏应用过来

自定义过滤器

  1. 首先在app应用下边创建一个文件夹 ---- templatetags (必须是这个名字,不能改变)

  2. 在这个文件夹里边写入自己的python的逻辑文件,名字随意 ,这个文件的名字是tag

    1. # 下面是一个自定义的过滤器
    2. from django import template
    3. # 导入django自带的包
    4. register = template.Library() # register 名字不能改变,注册器
    5. #在你写的函数头部加上这个装饰器,这就是一个过滤器
    6. # 这是无参数的过滤器
    7. @register.filter
    8. def filter(n1):
    9. '''
    10. 这是一个子自定义的过滤器,无参数的过滤器
    11. :param n1: 接收的在html文件中的过滤器中的管道符前边的那个变量的值
    12. :return:
    13. '''
    14. return n1 + '你好'
    15. # 这是有参数的过滤器
    16. @register.filter
    17. def filter2(n1,n2):
    18. '''
    19. 这是一个子自定义的过滤器,有参数的过滤器
    20. :param n1: 接收的在html文件中的过滤器中的管道符前边的那个变量的值
    21. :param n2: 传入的参数,管道符后边的,如果不需要传参数就不要写,
    22. :return:
    23. '''
    24. return n1 + n2
  3. 在HTML文件中的应用

    1. # 首先导入tag.py这个文件
    2. {% load tag %}
    3. # 无参数的使用方法
    4. <h1>{{ name|filter2}}</h1>
    5. # 有参数的使用方法
    6. <h1>{{ name|filter2:'你好坏'}}</h1>
  4. 文件中需要的参数是在视图文件中传入的

    1. def home(request):
    2. name = 'adrian'
    3. return render(request,'home.html',{'name':name})

自定义标签

  1. 首先在app应用下边创建一个文件夹 ---- templatetags (必须是这个名字,不能改变)

  2. 在这个文件夹里边写入自己的python的逻辑文件,名字随意 ,这个文件的名字是tag

    1. # 下面是一个自定义标签
    2. from django import template
    3. # 导入django自带的包
    4. register = template.Library() # register 名字不能改变,注册器
    5. #在你写的函数头部加上这个装饰器,这就是一个自定义标签
    6. @register.simple_tag
    7. def filter2(n1,n2):
    8. return n1 + n2
  3. 在HTML文件中的应用

    1. # 首先导入tag.py这个文件
    2. {% load tag %}
    3. <h1>{% filter 'x' 'o' %}</h1>
  4. 文件中需要的参数是在视图文件中传入的

    1. def home(request):
    2. name = 'adrian'
    3. return render(request,'home.html',{'name':name})

inclusion_tag ---- 用于返回html代码片段

  1. 这个方法是给你需要的html页面返回一个html文件的片段,通过渲染一个html文件模板来显示一些数据

    应用的创景一般是网页的左侧下拉栏,这种下拉栏一般网页中的应用多,但是数据有不一样,所以就使用inclusion_tag来做不同页面的不同数据需求的处理;

  2. 首先写一个简单的函数

    1. from django import template
    2. register = template.Library() # register 名字不能改变,注册器
    3. # 在这个函数的头部加一个有参装饰器
    4. @register.inclusion_tag('result.html')
    5. # 这个装饰器的参数是一个html页面
    6. def inclusion():
    7. return {'l1':['抽烟','喝酒','烫头']}
    8. # 在定义的这个字典中的键 l1 必须是result这个html文件中的for所有循环的列表名,这两个名字必须一致
  3. result这个html文件的代码

    1. <ul>
    2. {% for i in l1 %}
    3. <li>{{ i }}</li>
    4. {% endfor %}
    5. </ul>
  4. 如何使用这个方法呢?

    1. # 在你需要的网页上将这个文件导入tag.py 文件是你写函数的文件
    2. {% load tag %}
    3. # 将在你需要的地方写
    4. {% inclusion %}
    5. # inclusion是你写的函数

静态文件配置

  1. 在页面中需要加入一些css,js,图片等文件,如何在django中写这些文件的路径呢?

    1. #首先在你的项目文件里建立一个statics文件夹,在这个文件夹下在增加你需要的文件夹,比如css,js文件夹,在这些文件夹下写入对应的css,js文件,
  2. 其次就是在django的settings配置文件进行文件配置

    1. #关键的概念:Django中,静态资源的存放通过设置 STATIC_URL, STATICFILES_DIRS 来设置,一般STATIC_URL设置为:/static/ ---- 这个名字就叫做静态文件路径别名,可以改变
    2. #STATIC_URL='/static/', 这个static 是在Django 具体APP下建立的statics目录,用来存放静态资源。而STATICFILES_DIRS一般用来设置通用的静态资源,例如:
    3. STATICFILES_DIRS=[os.path.join(BASE_DIR, "statics"),]
  3. 在html文件中如何使用

    1. <link rel="stylesheet" href="/static/css/index.css">
    2. 在插入css文件时只需要写你的路径别名,在加上css文件夹名和文件名

django 组件 自定义过滤器 自定义标签 静态文件配置的更多相关文章

  1. 自定义过滤器和标签 & 静态文件相关

    自定义过滤器和标签 1.在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 2.在app中创建templatetags模块(模块名 ...

  2. Django框架之模板继承和静态文件配置

    一.模板继承 目的是:减少代码的冗余 语法: {% block classinfo %} {% endblock %} 具体步骤: 1.创建一个base.html文件,2.把要显示的页面的内容写在这里 ...

  3. Django框架之模板基础,静态文件配置

    一.模板继承 目的是:减少代码的冗余 语法: {% block classinfo %} {% endblock %} 具体步骤: 1.创建一个base.html文件,2.把要显示的页面的内容写在这里 ...

  4. django系列4.2--自定义标签, 自定义过滤器, inclusion_tag, 引入静态文件(css,js等)

    项目的目录为 在app中创建templates时,最好要再创建一个app名相同的文件夹,因为项目找文件时从第一个app开始遍历,不同app内的同名文件会有冲突,所以这样处理 一.自定义标签和过滤器 1 ...

  5. HttpResponse,render,redirect,静态文件配置,request对象方法,pycharm连接MySQL,django连接MySQL,django ORM

    HttpResponse 主要用于返回字符串类型的数据 def index(request): return HttpResponse('index页面') 在页面中就会显示 index页面 rend ...

  6. day58——模板继承、组件、自定义标签和过滤器、inclusion_tag、静态文件配置、url别名和反向解析、url命名空间

    day58 模板相关 模板继承(母版继承) 1. 创建一个xx.html页面(作为母版,其他页面来继承它使用) 2. 在母版中定义block块(可以定义多个,整个页面任意位置) {% block co ...

  7. day51:django:dispatch&模板渲染&过滤器&标签&组件&静态文件配置

    目录 1.dispatch 2.模板渲染 3.过滤器 4.标签 5.组件 6.静态文件配置 dispatch 回顾:CBV对应的URL传参 urls.py url(r'^book/(\d+)/(\d+ ...

  8. django自定义过滤器和标签

    1.自定义过滤器和标签的流程: 1.在某个app下创建一个名为templatetags(必需,且包名不可变)的包.假设我们在名为app01的app下创建了一个templatetags的包,并在该包下创 ...

  9. django 简易博客开发 3 静态文件、from 应用与自定义

    首先还是贴一下源代码地址  https://github.com/goodspeedcheng/sblog 上一篇博客我们介绍了 django 如何在views中使用templates以及一些常用的数 ...

随机推荐

  1. SQL:我为什么慢你心里没数吗?

    SQL 语句执行慢的原因是面试中经常会被问到的,对于服务端开发来说也是必须要关注的问题. 在生产环境中,SQL 执行慢是很严重的事件.那么如何定位慢 SQL.慢的原因及如何防患于未然.接下来带着这些问 ...

  2. 【对线面试官】Java注解

    public void send(String userName) {  try {    // qps 上报    qps(params);    long startTime = System.c ...

  3. Unity使用小剧场—创建的按钮On Click()只有MonoScript怎么办

    前言: 在游戏开发过程中遇到了一些小问题,以后都放到小剧场里,今天介绍怎么给按钮赋予方法并解决标题所述问题. 步骤: 1. 不管怎么说,先新建一个按钮 右键场景-[UI]-[Button] 这里会自动 ...

  4. winform判断程序是否运行,且只能运行一个实例

    前言 判断程序是否已经运行,使程序只能运行一个实例有很多方法,下面记录两种. 目前使用的是第一种方法. 方法1:线程互斥 static class Program { private static S ...

  5. [UWP] - Adaptive Trigger Featurede的使用方法及效果

    XAML代码: <Page.Resources> <!-- DataTemplate to use in the portrait layout. --> <DataTe ...

  6. 两千星 .NET5 框架 Furion 亮点分析(一)

    让 .NET 开发更简单,更通用,更流行. Furion 介绍 Furion 是基于 .NET5 平台下打造的现代化 Web 框架.旨在 让 .NET 开发更简单,更通用,更流行.. Furion 非 ...

  7. IDEA和eclips工具对比

    描述 eclipse idea 在当前类查找方法 ctrl+o ctrl+F12 查找文件   ctrl+shift+N 大小写转换 ctrl+shift+X    ctrl+shift+Y ctrl ...

  8. 码农英语四级考了6次,也能进知名IT外企

    程序员学英语 这显然不是新鲜的话题,但再怎么重复强调都不过分! 为啥要学 IT是当今世界发展最快的行业,没有之一!作为其中的从业人员,要始终保持对最新技术的关注度,难免需要阅读英文新闻或文章 平时工作 ...

  9. Hadoop支持的压缩格式对比和应用场景以及Hadoop native库

    对于文件的存储.传输.磁盘IO读取等操作在使用Hadoop生态圈的存储系统时是非常常见的,而文件的大小等直接影响了这些操作的速度以及对磁盘空间的消耗. 此时,一种常用的方式就是对文件进行压缩.但文件被 ...

  10. R绘图(1): 在散点图边缘加上直方图/密度图/箱型图

    当我们在绘制散点图的时候,可能会遇到点特别多的情况,这时点与点之间过度重合,影响我们对图的认知.为了更好地反映特征,我们可以加上点的密度信息,比如在原来散点所在的位置将密度用热图的形式呈现出来,再比如 ...