django 组件 自定义标签 静态文件配置

组件

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

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

自定义标签

  1. 首先在app应用下边创建一个文件夹 ---- templatetags (必须是这个名字,不能改变)
  2. 在这个文件夹里边写入自己的python的逻辑文件,名字随意 ,这个文件的名字是tag
    # 下面是一个自定义的过滤器
    from django import template
    # 导入django自带的包
    register = template.Library()  # register 名字不能改变,注册器
    #在你写的函数头部加上这个装饰器,这就是一个过滤器
    # 这是无参数的过滤器
    @register.filter
    def filter(n1):
        '''
        这是一个子自定义的过滤器,无参数的过滤器
        :param n1: 接收的在html文件中的过滤器中的管道符前边的那个变量的值
        :return:
        '''
        return n1 + '你好'
    
    # 这是有参数的过滤器
    @register.filter
    def filter2(n1,n2):
        '''
        这是一个子自定义的过滤器,有参数的过滤器
        :param n1: 接收的在html文件中的过滤器中的管道符前边的那个变量的值
        :param n2: 传入的参数,管道符后边的,如果不需要传参数就不要写,
        :return:
        '''
    
        return n1 + n2
  3. 在HTML文件中的应用
    # 首先导入tag.py这个文件
    {% load tag %}
    
    # 无参数的使用方法
    <h1>{{ name|filter2}}</h1>
    
    # 有参数的使用方法
    <h1>{{ name|filter2:'你好坏'}}</h1>
  4. 文件中需要的参数是在视图文件中传入的
    def home(request):
     name = 'adrian'
        return render(request,'home.html',{'name':name})

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

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

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

  2. 首先写一个简单的函数
    from django import template
    register = template.Library()  # register 名字不能改变,注册器
    # 在这个函数的头部加一个有参装饰器
    @register.inclusion_tag('result.html')
    # 这个装饰器的参数是一个html页面
    def inclusion():
    
        return {'l1':['抽烟','喝酒','烫头']}
     # 在定义的这个字典中的键 l1 必须是result这个html文件中的for所有循环的列表名,这两个名字必须一致
  3. result这个html文件的代码
    <ul>
        {% for i in l1 %}
            <li>{{ i }}</li>
        {% endfor %}
    </ul>
  4. 如何使用这个方法呢?
    # 在你需要的网页上将这个文件导入tag.py 文件是你写函数的文件
    {% load tag %}
    
    # 将在你需要的地方写
    {% inclusion %}
    # inclusion是你写的函数

静态文件配置

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

    #首先在你的项目文件里建立一个statics文件夹,在这个文件夹下在增加你需要的文件夹,比如css,js文件夹,在这些文件夹下写入对应的css,js文件,
  2. 其次就是在django的settings配置文件进行文件配置
    #关键的概念:Django中,静态资源的存放通过设置 STATIC_URL, STATICFILES_DIRS 来设置,一般STATIC_URL设置为:/static/    ----  这个名字就叫做静态文件路径别名,可以改变
    
    #STATIC_URL='/static/', 这个static 是在Django 具体APP下建立的statics目录,用来存放静态资源。而STATICFILES_DIRS一般用来设置通用的静态资源,例如:
    
    STATICFILES_DIRS=[os.path.join(BASE_DIR, "statics"),]
  3. 在html文件中如何使用
    <link rel="stylesheet" href="/static/css/index.css">
    在插入css文件时只需要写你的路径别名,在加上css文件夹名和文件名

原文地址:https://www.cnblogs.com/zhufanyu/p/11665473.html

时间: 2024-10-04 03:03:16

django 组件 自定义标签 静态文件配置的相关文章

django之三剑客、静态文件配置、请求响应对象、数据库操作

三剑客 from django.shortcuts import render,HttpResponse,redirect HttpResponse # 返回字符串 render(response, 'a.html', locals()) # 返回html页面 并且可以给该html传值 redirect('/userlist') # 重定向 # 既可以是我们自己的路径也可以是网上的路径 django返回的都是HttpResponse对象 静态文件配置 ## 静态文件静态配置 用户能够在浏览器中输

第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—路由映射与静态文件配置

第三百八十四节,Django+Xadmin打造上线标准的在线教育平台-路由映射与静态文件配置以及会员注册 基于类的路由映射 from django.conf.urls import url, include # 导入django自在的include逻辑 from django.contrib import admin from django.views.generic import TemplateView # 导入django自带的TemplateView逻辑 import xadmin #

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

一.模板继承 目的是:减少代码的冗余 语法: {% block classinfo %} {% endblock %} 具体步骤: 1.创建一个base.html文件,2.把要显示的页面的内容写在这里面,也就是html要在浏览器显示的内容3.在right里面写个盒子 {% block classinfo %} {% endblock %} 在这里面写个空盒子,以后谁来扩展就在这个盒子里面添加相应的内容就行了 4.然后再创建一个.html文件,让这个继承base.html文件, {% extend

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

https://www.cnblogs.com/haiyan123/p/7731959.html 一.模板继承 目的是:减少代码的冗余 语法: {% block classinfo %} {% endblock %} 具体步骤: 1.创建一个base.html文件, 2.把要显示的页面的内容写在这里面,也就是html要在浏览器显示的内容 3.在right里面写个盒子 {% block classinfo %} {% endblock %} 在这里面写个空盒子,以后谁来扩展就在这个盒子里面添加相应

Django——静态文件配置

本文目的 最近用django开发项目,发现django的静态文件(js,css和img等)配置比较麻烦,开发环境和生产环境的配置还不一样,这里记录一下,作为备忘.我当前使用的版本是django v1.4.3. 吐槽:django的版本不兼容是个大问题,网上搜索相关问题时,解决方案到是一大推,但是均没有标注版本,导致均不能适用当前版本,走了不少弯路. 开发环境配置 需要下面几个步骤 1. 在app目录下创建static目录,将静态文件和相关文件夹放到此目录下,如your_app/static/im

55 Django静态文件配置

一.Django静态文件配置 1.项目文件夹,新建一个文件夹statics 文件夹 2.在配置文件settings.py中,配置: 文件中有第句: STATIC_URL = '/static/'#静态文件物理地址的别名 在上一句文件中下加一句: 在上一句文件中下加一句: STATICFILES_DIRS=[ os.path.join(BASE_DIR,"statics")] #静态文件的物理地址 3.把静态文件放在statics 文件夹中 4.html文件在引用静态文件时: <s

Django静态文件配置、request方法、ORM简介、字段的增删改查

app的创建注意事项: 在Django新创建的app要在seetings.py中添加注册,才会生效 创建app:django-adminapp an startapp app名称 或者 python3 mansge.py startpp名称 手动创建的app不会自带存放html的templates文件夹,需要手动创建 Django静态文件配置 对于前端已经写好了的文件,我们只是拿过来使用,那么这些文件都可以称之为"静态文件"; 静态文件可以是:boostrap一类的前端框架,已经写好了

Django框架静态文件配置和URL解析

静态文件配置 1:#在django项目下创建一个static静态文件文件夹,在static文件夹下创建对应的css,img,js文件夹,用来存放css样式文件,图片和js代码,用于HTML引入 2:#在django项目的settings配置文件中,配置静态文件相关配置(setting文件的最下面) STATIC_URL = '/static/' #静态文件的文件路径别名,别名可以改,一般不改 STATICFILES_DIRS = [ #静态文件的文件路径,就是创建的static的静态文件夹路径,

Django_生产环境静态文件配置

需求: 当Django项目运行在线上的时候,需要关闭debug模式,那么Django设置中,静态文件路径配置将会失效,如何解决这个问题? 问题原因: Django默认关闭debug模式,Django错误信息将不会返回给请求,setting中静态文件的设置将会自动失效,Django会认为这个是上线的环境 那,如何解决这个问题? 方法1: 把静态文件按照协议,存放在apache服务器等第三方服务器提供传输服务 方法2:Django自己启动一个服务,来进行静态文件传输 那选择方法2来进行配置: set