• python Django框架下,不同路径下,html页面引入静态static文件的方法


    一、简介

    Django的项目中,静态文件static在根目录下,或者在应用下,这两种方式引入的区别。以Django2.0+实验一下。

    static文件夹包含css,js,img等文件夹

    setting配置文件均只配置了

    STATIC_URL = '/static/'


    二、static文件夹在根目录下

    1、引入css文件的两种方式:

    第一种:

    {% load static %}

    <link type="text/css" rel="stylesheet" href="{% static 'css/common.css' %}">

    第二种:

    <link type="text/css" rel="stylesheet" href="/static/css/common.css ">

    2、引入js的两种方法:

    第一种:

    {% load static %}

    <script type="text/javascript" charset="utf-8" src="{% static 'nav.js' %}"></script>

    第二种:

    <script type="text/javascript" charset="utf-8"  src="/static/js/nav.js"></script>

    三、static文件夹在应用下,根目录下也有static文件夹及其子文件夹css,js等:

    1、引入js文件的方法:

    方法一:

    {% load static %}
    <script src="{% static '/js/jquery.min.js' %}"></script>

    方法二:

    这么写页面提示是can not resolve directory,但是却能够正常找到,具体不清楚原因

    <script src="/static/js/jquery.min.js"></script>
    加上应用路径这么写页面不报错,但是却找不到的 <script src="/backadmin/static/js/jquery.min.js"></script>

    真正页面写的不报错,结果却是找不到的

     经过试验,上网查找,需要在settings里添加如下命令,即将你的应用下的static文件夹路径添加到里边,写完整的路径的时候就不会提示can not resolve directory,且能够正常找到

    STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static').replace('\', '/'),
    os.path.join(BASE_DIR, '/backadmin/static').replace('\', '/'),
    os.path.join(BASE_DIR, '/crm/static').replace('\', '/'),
    ]



    2、引入js文件的方法

    方法一:同上

    方法二:同上

  • 相关阅读:
    线性表之链式存储结构
    最大公约数:辗转相除法
    字符串系列之:逆序输出字符串
    链表有关的常见面试题
    从数组中找出最大的和最小的数
    C语言实现简单线程池
    线性表之顺序存储结构
    新学了姜葱豆腐
    渗透1
    MySQL注入中新Tips
  • 原文地址:https://www.cnblogs.com/realizetomoney/p/13928501.html
Copyright © 2020-2023  润新知