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文件的方法

方法一:同上

方法二:同上

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM